Closed klunk386 closed 6 years ago
This is using default parameters? It looks strange, but not completely wrong.
Hi. I have tested the code by using default parameters and got the same result: The result is very strange and I can't recognize it's a USAF target. Could you please show us the original image of the example data? Thanks
Something definitely looks wrong. How many iterations were you able to run in 24 minutes? Could you upload the data printed to the command window? I want to see if the data term and residuals are converging.
My computer is able to run about 200 iterations in 24 minutes. There's a lot of data. Could you leave an e-mail? But, I think the data term and residuals are already converging. Because the result after 400 iterations is almost the same.
I think the following is the error in the code: Line 51 in ADMM3D_solver.m needs to be Hs = fftn(fftshift(pad2d(psf))); instead of Hs = fftn(ifftshift(pad2d(psf)));. This is to be consistent with how the laplacian and PsiTPsi are defined in generate_laplacian function. Hope this fix works out.
I have tested. But, the result is almost the same.
Forgot to mention Lines 54 and 55 also need to be modified accordingly to the following: Hfor = @(x)real(ifftshift(ifftn(Hs.fftn(fftshift(x))))); Hadj = @(x)real(ifftshift(ifftn(Hs_conj.fftn(fftshift(x)))));
Hi I have run the code on MATLAB and got the same result like others above.And my data term and residuals of last iteration are as follows.(iter: 200 cost: 4.5e+10 data_fidelity: 4.5e+10 norm: 4.3e+05 Primal v: 1.2e+05 Dual v: 3.4e+02 Primal u: 1.1e+03 Dual u: 3.6e+02 Primal w: 1.3e+04 Dual w: 2.5e+03 mu1: 0.005 mu2: 0.05 mu3: 0.5)Have any problem with this result?Could you please show us the final image you get in your test?
Thanks
Hi everyone. First off, I apologize for being unresponsive. I'm way overbooked this semester, but I will clean this up starting in May. Second, this is a low resolution version of the data in the paper. It will not produce identical results. That said, the results posted here are not as good as can be achieved. I suspect this is parameter selection. In the numbers posted here, the primal and dual residuals are not close to each other (they should be). Additionally, the norm looks quite low. I will take a look at this in May, but in the meantime, you can try a few things:
increase solverSettings.tau
. Try increasing by 10x until it look overly regularized (it will become too "cartoony")
You can also try automatic parameter tuning using solverSettings.autotune=1
, solverSettings.mu_inc = 1.5
and solverSettings.mu_dec=1.5
. This will attempt to select mu_1
, mu_2
, and mu_3
automatically, but will NOT select tau
for you (tau
controls the strength of the regularizer. You'll be able to tell if this autotune is working if the primal and dual residuals for a given variable are within a factor of solverSettings.resid_tol
of each other (e.g. Primal v and Dual v should be within 1.5x of each other).
@vboomi I think you may be right, and I'll check this out when I get back to it. Regarding the numbers posted here, it looks like the uploaded parameters are not tuned well.
Lastly, these results are display as a max projection on the parula color scale, which is useful because it shows dim artifacts (useful for debugging). As you can see in our paper, the results is cropped and uses a different color scale and have been cropped. I would suggest playing around with imagej or some other 3D visualizer if you want to improve the looks of the result.
I found the issue and will be pushing a fix soon. As silly as it sounds, the calibration data that got uploaded here was incorrect. I am in the process of prepping the corrected dataset (with some help from @gracekuo01). Stay tuned in the next two weeks for a fix. I'll also fix minor issues and it will run on GPU.
Tuned since 4 weeks ago and nothing happens ... just to add pressure :smile: ... The project is so interesting that I'm too curious to see results, great job!
I think we've identified the issue and will push a working version this week. Thanks for the prodding!
Alright I just pushed code with a few minor issues corrected. The main issue is that the calibration data we uploaded was not correct. We've fixed that. I've added GPU support as well. If anyone tests, please let me know if the results look off still. This is still a low res sample, but the resolution target should be more clear now. Thanks for your patience.
Here is what I get with 300 iterations on a GPU (.14 seconds per iteration):
Hi. I have tested the code on Matlab for Linux. The only result that I get after 24 min of processing is the following (see picture): Could please confirm if this is correct or an issue? Thanks