[Rtk-users] RTK calculating attenuation from Varian projection

Andy Shieh hsieandy at gmail.com
Fri Nov 23 06:35:22 EST 2012


Hi Simon,

Just to let you know that the code works well!! Thanks!

By the way, I've been contacting with A/Prof Geoff Hugo (I believe you know
him?), and he mentioned that he's been putting quite some effort on making
RTK compatible with Varian format (HNC mainly). He mentioned that for the
Varian format, we usually read in the "Norm Chamber value" (It's usually
around 300) from each HNC header, and calculate the CT number by
log(NormChamberValue/Intensity) * ScaleFactor, where the ScaleFactor is
around 10000. I'm not too sure about the details, but I believe he will
discuss it with you soon when he has time!

Cheers,
Andy


>
>
> 2012/11/19 Simon Rit <simon.rit at creatis.insa-lyon.fr>
>
>> Hi Andy,
>> I have pushed a fix for the Varian raw to attenuation conversion. Let
>> me know if it meets what you've done. I will let you know if there is
>> any other improvement of the conversion in the future.
>> Simon
>>
>> On Fri, Nov 9, 2012 at 9:03 AM, Simon Rit
>> <simon.rit at creatis.insa-lyon.fr> wrote:
>> > Hi Andy,
>> >
>> > On Thu, Nov 8, 2012 at 5:58 PM, Andy Shieh <hsieandy at gmail.com> wrote:
>> >> Hi Simon,
>> >>
>> >> Thank you. At the moment I'm just doing something similar to what you
>> did
>> >> for the Elekta system - using a log_ref (I'm using HND_INTENSITY_MAX)
>> and
>> >> minus the log of intensity plus one (I assume the plus one is to avoid
>> >> taking the log of zero?).
>> > Does it improve the results? You are welcome to share it if you feel
>> > that this is of interest for other people.
>> >
>> >>
>> >> Another few question:
>> >> 1. Are you doing any normalization after reconstruction or forward
>> >> projection?
>> > No. Assuming you have line integral of the attenuation as input of the
>> > reconstruction algorithm, you get the attenuation.
>> >
>> >  Are the negative values in the reconstructed images simply a
>> >> result of the ramp filtering?
>> > Probably. You can use rtkprojections to look at what is the input of
>> > the reconstruction algorithm.
>> >
>> >> 2. If I want to compare a reprojection from an image reconstructed
>> using RTK
>> >> with the original projection, how should I make sure the normalization
>> is
>> >> correct? i.e. should I plus/minus or multiply the  reprojected
>> attenuation
>> >> before I use exponential and make it back to intensity values?
>> > You basically have to do the inverse formula to what you have done. An
>> > easy way of looking at what is going on with forward projections is to
>> > look at this example:
>> > http://wiki.openrtk.org/index.php/RTK/Scripts/ForwardProjection
>> >
>> >> 3. The rtkforward projections doesn't seem to work correctly when I'm
>> >> projecting using a geometry file containing several Projection
>> (Angle). The
>> >> output mha file seems to "repeat" after a couple of projections
>> instead of
>> >> showing all projections. I'm testing this on a Varian Half Fan
>> geometry - it
>> >> works fine if I break the geometry file down into one each for each
>> >> projection angle and do the forward projection separately. I can send
>> you a
>> >> reprojection mha file if my description is unclear to you.
>> > I works for me. Would you be able to fill in a bug report
>> > (http://bug.openrtk.org/) with an example? You can generate volumes
>> > and projections with rtkdrawgeometricphantom and
>> > rtkprojectgeometricphantom.
>> > Simon
>> >
>> >>
>> >> Thanks Simon!!
>> >>
>> >> Cheers,
>> >> Andy.
>> >>
>> >>
>> >>
>> >> 2012/10/24 Simon Rit <simon.rit at creatis.insa-lyon.fr>
>> >>>
>> >>> Hi Andy,
>> >>> Yes you're right, I have actually noticed recently that but I have not
>> >>> worked a lot on Varian images because we don't have a Varian CBCT in
>> >>> Lyon. I only had a sub-sampled acquisition from Greg of a Catphan that
>> >>> I used to roughly check the geometry. As far as I can remember, when I
>> >>> wrote this piece of code, I tried to use the same code as Plastimatch
>> >>> but I could well have done it wrongly. I'm actually waiting for a new
>> >>> complete Catphan acquisition from Greg to correct for this but if you
>> >>> already have a patch to suggest or a set of images to send, feel free
>> >>> to do it.
>> >>> Thanks,
>> >>> Simon
>> >>>
>> >>> On Tue, Oct 23, 2012 at 2:48 PM, Andy Shieh <hsieandy at gmail.com>
>> wrote:
>> >>> > Hi Simon,
>> >>> >
>> >>> > I was looking at "rtkVarianObiRawImageFilter.h", and realized that
>> the
>> >>> > attenuation is calculated from the projection image simply via a
>> >>> > negative
>> >>> > transformation (1-Intensity/HND_MaxIntensity).
>> >>> > Is it usually the way this is done, and is there any reason for
>> doing
>> >>> > this?
>> >>> > I would have thought attenuation should be calculated from
>> intensity via
>> >>> > logarithm (since I=I_0 exp(-mu x)).
>> >>> > Thanks!!
>> >>> >
>> >>> > Cheers,
>> >>> > Andy
>> >>> >
>> >>> > _______________________________________________
>> >>> > Rtk-users mailing list
>> >>> > Rtk-users at openrtk.org
>> >>> > http://public.kitware.com/cgi-bin/mailman/listinfo/rtk-users
>> >>> >
>> >>
>> >>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/rtk-users/attachments/20121123/e674d9d8/attachment-0001.html>


More information about the Rtk-users mailing list