Giter VIP home page Giter VIP logo

sparse-sim's Issues

input data error (.tif) and how to export the reconstructed image?

Hi, Weisong,

Thank you so much for sharing the excellent work. It was amazing!

Can I ask you two questions? First, how can I export the reconstructed image (where is the button on the GUI)?

And the second question: when I was using your software, I found I couldn't load my own data (TIF format and I got the image by using Zeiss 880 confocal microscopy). So, is there any special for the data or just a .tif format image is good? Looking forward to your reply. Thank you.

Best regards,

Shangyu Gong

Software flash back problem

There was a software flash out today and I have reinstalled the software and still can't solve the problem.
Do you know how to address such a problem?

ovesampling?

Hello there,

I have been recently found this algorithm and trying to use it for my research.

I wonder how we can do the oversampling? I downloaded the software and whenever I choose "oversampling", it just doesn't do anything (the sparse reconstruction progress bar is 0%).

Except for this, everything works fine. Would be very appreciated if you can help me out!

Also, naive question.

If I upsample the image, and use the correct pixel size for deconvolution, wouldn't that similar as "oversampling" option in the program?

Thanks!!!

Some confusion about sparse deconvolution

Dear Weisong
Hello, I am very excited to tell you that sparse deconvolution has a very obvious processing effect on many kinds of microscope images. After reading your article and using sparse deconvolution, I still have some confusion. I sincerely hope to get your advice, thank you!

  1. I found that the PSF estimation you used in Sparse-SIM GUI is two-dimensional form. When processing three-dimensional data (z-stack or time series), the procedure process the data slice by slice. For time series data, I think this is reasonable, but for a three-dimensional stack (the z direction changes with depth), the psf should be three-dimensional. I have tried to change the iterative deconvolution part of your program to 3d RL, but I found that the one-by-one deconvolution you used is better, and I am a little confused.
  2. For Sparse deconvolution, we first use sparse iteration to reduce the noise, and then perform RL deconvolution to get a significant improvement in resolution. I try to use the method of the article Zhang, Zhe, Dongzhou Gou, Fan Feng, Ruyi Zheng, Ke Du, Hongrun Yang, Guangyi Zhang, et al. "3d Hessian Deconvolution of Thick Light-Sheet Z-Stacks for High-Contrast and High-Snr Volumetric Imaging." Photonics Research 8, no. 6 (2020): 1011-21.
    and add sparse restrictions. But its effect is not obvious. What is the reason for the worse resolution enhancement of one step deconvolution?It does include an iterative deblurring process. Are all the deconvolution methods inferior to RL, laugh and cry

Ask for specific setting instructions

Hello!

After carefully reading your masterpiece, I found this very useful software.

Excuse me, is there a specific setting guide for various parameters in this software?

Thank you!

PSF for confocal microsope?

Hello there!

I have been getting really good results compared to any other deconv method I have tried before including many of commercially available softwares, thank you very much for developing this :)

Do you mind asking a question again?

Is there any code edit needed for PSF generation for the laser scanning confocal and/or laser spanning disk? I have been using default code for PSF generation, and I wonder if this is for widefield images?

What is "effective NA" in the software

First of all, congratz on new paper (SACD)! I tried it, and it works really well :)

Question: what is "effective NA" in the sparse-sim software? if I were to use confocal with 1.27NA water lens, for example, what value should I put in...?

Thank you very much!

Where can I find the processed data?

Hello,

Thanks for the great software. I'm currently playing with it via GUI , but I do not know where the deconvoluted data save to (or does this save image?)

Is FFT operation neccesary in Hessian deblur?

I notice that in

operationfft=1*xxfft+ 1*yyfft+(contiz^2)*zzfft+ 2*xyfft+ 2*(contiz)*xzfft+2*(contiz)*yzfft;

operation_fft is a variable only depends on image shapes. It is always a small number compared to (fidelity/mu) +paral1^2 in
normlize = single((fidelity/mu) +paral1^2 +operationfft);

So I tried to remove this number. Thus according to the formula in the supplementary information of your paper:
image
when the red column of item is removed, all the fft operation seems to be redundant. So to validate this idea, I modify https://github.com/WeisongZhao/Sparse-SIM/blob/master/src_win/SHIter/SparseHessian_core.m. Specifically, here is the detailed modification:
Original code:

operationfft=1*xxfft+ 1*yyfft+(contiz^2)*zzfft+ 2*xyfft+ 2*(contiz)*xzfft+2*(contiz)*yzfft;
normlize = single((fidelity/mu) +paral1^2 +operationfft);
clear xxfft yyfft zzfft xyfft xzfft yzfft operationfft
if gpu==1
    f=gpuArray(f);
    normlize =gpuArray(normlize);
    bxx = gpuArray.zeros(sizeg,'single');
    byy = bxx;
    bzz = bxx;
    bxy =bxx;
    bxz =bxx;
    byz = bxx;
    bl1 =bxx;
else
    bxx = zeros(sizeg,'single');
    byy = bxx;
    bzz = bxx;
    bxy = bxx;
    bxz = bxx;
    byz = bxx;
    bl1 = bxx;
end
g_update = (fidelity/mu)*f;
for iter = 1:iteration
    tic;
    g_update = fftn(g_update);
    if iter>1
        g = real(ifftn(g_update./normlize));
    else
        g = real(ifftn(g_update./(fidelity/mu)));
    end
    g_update = (fidelity/mu)*f;

modified code without fft:

%operationfft=1*xxfft+ 1*yyfft+(contiz^2)*zzfft+ 2*xyfft+ 2*(contiz)*xzfft+2*(contiz)*yzfft;
normlize = single((fidelity/mu) +paral1^2 );%+operationfft);
clear xxfft yyfft zzfft xyfft xzfft yzfft %operationfft
if gpu==1
    f=gpuArray(f);
    normlize =gpuArray(normlize);
    bxx = gpuArray.zeros(sizeg,'single');
    byy = bxx;
    bzz = bxx;
    bxy =bxx;
    bxz =bxx;
    byz = bxx;
    bl1 =bxx;
else
    bxx = zeros(sizeg,'single');
    byy = bxx;
    bzz = bxx;
    bxy = bxx;
    bxz = bxx;
    byz = bxx;
    bl1 = bxx;
end
g_update = (fidelity/mu)*f;
for iter = 1:iteration
    tic;
    %g_update = fftn(g_update);
    if iter>1
        %g = real(ifftn(g_update./normlize));
        g = g_update./normlize;
    else
        %g = real(ifftn(g_update./(fidelity/mu)));
        g = g_update / (fidelity / mu);
    end
    g_update = (fidelity/mu)*f;

I have tested the codes on a test image from your open data https://github.com/WeisongZhao/Sparse-SIM/releases/download/v1.0.3/Example.Data.from.Manuscript.zip.
It turns out that, on Fig4a_2DSIM_Actin.tif, the two codes achieves almost the same performance:
SSIM between the outputs of two codes: 0.99988
cosine distance between the outputs of two codes: 1.16e-05

According to the result, It seems that fft operation is not neccessay. Any idea about this?

Unable to run Sparse-SIM.app on MacBook Pro with M2 Max processor

Hi Weisong, thank you for sharing your project. It is really helpful. These days I tried to run Sparse-SIM.app on my MacBook Pro with M2 Max processor, but the installer just never initiate (it crashed every time I clicked it). I also tried to use MATLAB runtime, but it didn't work neither, it kept saying "no such file" (files' names are different in MACI64 folder) . I am not sure if it is the Apple M2 Max processor does not compatible with your project. Could you provide me some suggestions? Thank you!

Suggestions for importing SIM/Lattice-SIM images

Hello,

Thank you very much for the cool software!

I have a question about your recommendations for inputting SIM data into the software. As the original title was "Sparse-SIM" I anticipated that the software would also reconstruct from raw SIM data but I believe I can only input previously reconstructed SIM data. What method/software did you use to reconstruct your raw SIM data before running through Sparse-SIM please?

We have a Lattice-SIM system and we were very interested to run our generated data (reconstructed with Zeiss SIM/SIM^2 algorithm) through your algorithm, have you already tried this please?

Some images become all 0 or NaN after sparse deconvolution

Hello, thanks for making this available! I've been trying out the Sparse SIM release 1.0.3 with Matlab 2017b on a machine running Windows 10 enterprise. Some images that I apply it on produce very nice results, but for some the output is all zeros in the tiff file, and the variable SHdeblurCPU from the .mat file is all NaN's. I assume that the input image file I supply is not meeting the assumptions of the program in these cases, but I don't see any errors being thrown. I am hoping you have some advice on how to figure out what goes wrong with these images.

Cannot write to file .\RUN\recentsetting_SHrecon.mat: Access is denied. Error in => Sparse_SIM_recon.m at line 84

Description:
I encountered an error message while running the program that says "Cannot write to file .\RUN\recentsetting_SHrecon.mat: Access is denied. Error in => Sparse_SIM_recon.m at line 84". I am using MATLAB R2017a on Windows 11.

The error occurred when I started the application Sparse_deconvolution.

I have tried to investigate the issue by checking the file permissions, but I have not been able to resolve the problem yet.

Could you please provide any suggestions on how to solve this issue? Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.