[Rtk-users] ADMMTVReconstruction

Simon Rit simon.rit at creatis.insa-lyon.fr
Mon Jan 5 01:49:01 EST 2015


Happy new year Howard,
Normally, this calibration is handled by the flat panel. It uses an
air projection and a dark (no beam) projection to compute the line
integral. However, there might be fluctuations in time of these two
projections. Some people do regular acquisitions of them to capture
the time fluctuations. Otherwise, a constant value might be a good
solution. Sébastien has recently implemented an automated
determination of this constant, maybe you should have a look:
http://www.openrtk.org/Doxygen/classrtk_1_1I0EstimationProjectionFilter.html
It is already part of the mini-pipeline for ImagX / IBA projections processing:
http://www.openrtk.org/Doxygen/classrtk_1_1ImagXRawToAttenuationImageFilter.html
Simon

On Fri, Jan 2, 2015 at 10:17 PM, Howard <lomahu at gmail.com> wrote:
> Happy New Year, Cyril.
>
> I realized that our projection data is having some issues with air
> correction. We checked our calibration and it appeared fine. Do you know by
> any chance whether there is a quick way of correcting that? I searched
> around and found people used a constant air norm image.
>
> Thanks very much,
> -howard
>
> On Thu, Dec 18, 2014 at 5:13 AM, Cyril Mory
> <cyril.mory at creatis.insa-lyon.fr> wrote:
>>
>> Hi Howard,
>>
>> I've taken a look at your data.
>> You can apply tv denoising on the out.mha volume and obtain a
>> significantly lower level of noise without blurring structures by using the
>> following command :
>> rtktotalvariationdenoising -i out.mha -g 0.001 -o
>> tvdenoised/gamma0.001.mha -n 100
>>
>> I was unable to obtain good results with iterative reconstruction from the
>> projection data you sent, though. I think the main reason for this is that
>> your projections have much-higher-than-zero attenuation in air. Your
>> calculation of i0 when converting from intensity to attenuation is probably
>> not good enough. Try to correct for this effect first. Then you can start
>> performing SART and Conjugate Gradient reconstructions on your data, and
>> once you get these right, play with ADMM.
>>
>> You might need to remove the table from the projections to be able to
>> restrict the reconstruction volume strictly to the patient, and speed up the
>> computations. We can provide help for that too.
>>
>> Best regards,
>> Cyril
>>
>>
>> On 12/17/2014 05:02 PM, Howard wrote:
>>
>> Hi Cyril,
>>
>> I've sent you two files via wetransfer.com: one is the sparse projection
>> set with geometry file and the other is the fdk reconstructed image based on
>> full projection set. Please let me know if you have trouble receiving them.
>>
>> Thanks very much for looking into this.
>>
>> -Howard
>>
>> On Wed, Dec 17, 2014 at 10:19 AM, Cyril Mory
>> <cyril.mory at creatis.insa-lyon.fr> wrote:
>>>
>>> Hi Howard,
>>>
>>> Thanks for the detailed feedback.
>>> The image getting blurry is typically due to a too high gamma. Depending
>>> on you data, gamma can have to be set to a very small value (I use 0.007 in
>>> some reconstructions on clinical data). Can you send over your volume
>>> reconstructed from full projection data, and I'll have a quick look ?
>>>
>>> There is a lot of instinct in the setting of the parameters. With time,
>>> one gets used to finding a correct set of parameters without really knowing
>>> how. I can also try to reconstruct from your cbct data if you send me the
>>> projections and the geometry.
>>>
>>> Best regards,
>>> Cyril
>>>
>>>
>>> On 12/17/2014 03:49 PM, Howard wrote:
>>>
>>> Hi Cyril,
>>>
>>> Thanks very much for your detailed and nice description on how to use the
>>> admmtv reconstruction. I followed your suggestions and re-ran
>>> reconstructions using admmtotalvariation and admmwavelets with cbct
>>> projection data from a thoracic patient.
>>>
>>> I am reporting what I found and hope these will give you information for
>>> further improvement.
>>>
>>> 1. I repeated admmtotalvariation with 30 iterations. No improvement was
>>> observed. As a matter of fact, the reconstructed image is getting a lot
>>> noiser compared to that using 3 iterations. The contrast is getting worse as
>>> well. I tried to play around with window & level in case I was fooled but
>>> apparently more iterations gave worse results.
>>>
>>> 2. Similarly I ran 30 iterations using admmwavelets. Slightly better
>>> reconstruction compared with total variation.
>>>
>>> 3. Then I went ahead to test if TV benefits us anything using the
>>> tvdenoising application on the fdk-reconstructed image reconstructed from
>>> full projection set. I found that the more iterations, the more blurry the
>>> image became. For example, with 50 iterations the contrast on the denoised
>>> image is very low so that the vertebrae and surrounding soft tissue are
>>> hardly distinguishable. Changing gamma's at 0.2, 0.5, 1.0, 10  did not seem
>>> to make a difference on the image. With 5 iterations the denoising seems to
>>> work fairly well. Again, changing gamma's didn't make a difference.
>>> I hope I didn't misused the totalvariationdenoising application. The
>>> command I executed was: rtktotalvariationdenoising -i out.mha -o
>>> out_denoising_n50_gamma05 --gamma 0.5 -n 50
>>>
>>> In summary, tdmmwavelets seems perform better than tdmmtotalvariation but
>>> neither gave satisfactory results. No sure what we can infer from the TV
>>> denoising study. I could send my study to you if there is a need. Please let
>>> me know what tests I could run. Further help on improvement is definitely
>>> welcome and appreciated.
>>>
>>> -Howard
>>>
>>> On Mon, Dec 15, 2014 at 4:07 AM, Cyril Mory
>>> <cyril.mory at creatis.insa-lyon.fr> wrote:
>>>>
>>>> Hello Howard,
>>>>
>>>> Good to hear that you're using RTK :)
>>>> I'll try to answer all your questions, and give you some advice:
>>>> - In general, you can expect some improvement over rtkfdk, but not a
>>>> huge one
>>>> - You can find the calculations in my PhD thesis
>>>> https://tel.archives-ouvertes.fr/tel-00985728 (in English. Only the
>>>> introduction is in French)
>>>> - Adjusting the parameters is, in itself, a research topic (sorry !).
>>>> Alpha controls the amount of regularization and only that (the higher, the
>>>> more regularization). Beta, theoretically, should only change the
>>>> convergence speed, provided you do an infinite number of iterations (I know
>>>> it doesn't help, sorry again !). In practice, beta is ubiquitous and appears
>>>> everywhere in the calculations, therefore it is hard to predict what effect
>>>> an increase/decrease of beta will give on the images. I would keep it as is,
>>>> and play on alpha
>>>> - 3 iterations is way too little. I typically used 30 iterations. Using
>>>> the CUDA forward and back projectors helped a lot maintain the computation
>>>> time manageable
>>>> - The quality of the results depends a lot on the nature of the image
>>>> you are trying to reconstruct. In a nutshell, the algorithm assumes that the
>>>> image you are reconstructing has a certain form of regularity, and discards
>>>> the potential solutions that do not have it. This assumption partly
>>>> compensates for the lack of data. ADMM TV assumes that the image you are
>>>> reconstructing is piecewise constant, i.e. has large uniform areas separated
>>>> by sharp borders. If your image is a phantom, it should give good results.
>>>> If it is a real patient, you should probably change to another algorithm
>>>> that assumes another form of regularity in the images (try rtkadmmwavelets)
>>>> - You can find out whether you typical images can benefit from TV
>>>> regularization by reconstructing from all projections with rtkfdk, then
>>>> applying rtktotalvariationdenoising on the reconstructed volume (try 50
>>>> iterations and adjust the gamma parameter: high gamma means high
>>>> regularization). If this denoising implies an unacceptable loss of quality,
>>>> stay away from TV for these images, and try wavelets
>>>>
>>>> I hope this helps
>>>>
>>>> Looking forward to reading you again,
>>>> Cyril
>>>>
>>>>
>>>> On 12/12/2014 06:42 PM, Howard wrote:
>>>>
>>>> I am testing the ADMM total variation reconstruction with sparse data
>>>> sample. I could reconstruct but the results were not as good as expected. In
>>>> other words, it didn't show much improvement compared to fdk reconstruction
>>>> using the same sparse projection data.
>>>>
>>>> The parameters I used in ADMMTV were the following:
>>>>
>>>> --spacing 2,2,2 --dimension 250,100,250 --alpha 1 --beta 1000 -n 3
>>>>
>>>> while the fdk reconstruction parameters are:
>>>>
>>>> --spacing 2,2,2 --dimension 250,100,250 --pad 0.1 --hann 0.5
>>>>
>>>> The dimensions were chosen to include the entire anatomy. 72 projections
>>>> were selected out of 646 projections for a 360 degree scan for both
>>>> calculations.
>>>>
>>>> What parameters and how can I adjust (like alpha, beta, or iterations?)
>>>> to improve the ADMMTV reconstruction? There is not much description of this
>>>> application from the wiki page.
>>>>
>>>> Thanks,
>>>>
>>>> -howard
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Rtk-users mailing list
>>>> Rtk-users at public.kitware.com
>>>> http://public.kitware.com/mailman/listinfo/rtk-users
>>>>
>>>>
>>>> --
>>>> --
>>>> Cyril Mory, Post-doc
>>>> CREATIS
>>>> Leon Berard cancer treatment center
>>>> 28 rue Laënnec
>>>> 69373 Lyon cedex 08 FRANCE
>>>>
>>>> Mobile: +33 6 69 46 73 79
>>>
>>>
>>> --
>>> --
>>> Cyril Mory, Post-doc
>>> CREATIS
>>> Leon Berard cancer treatment center
>>> 28 rue Laënnec
>>> 69373 Lyon cedex 08 FRANCE
>>>
>>> Mobile: +33 6 69 46 73 79
>>
>>
>> --
>> --
>> Cyril Mory, Post-doc
>> CREATIS
>> Leon Berard cancer treatment center
>> 28 rue Laënnec
>> 69373 Lyon cedex 08 FRANCE
>>
>> Mobile: +33 6 69 46 73 79
>
>
>
> _______________________________________________
> Rtk-users mailing list
> Rtk-users at public.kitware.com
> http://public.kitware.com/mailman/listinfo/rtk-users
>



More information about the Rtk-users mailing list