[Rtk-users] .dat to .mha image

Simon Rit simon.rit at creatis.insa-lyon.fr
Wed May 29 06:56:00 EDT 2013


I'm not sure what you expected but this is the definition of the
backprojection operator : assign to the voxels along each ray the
value at the intersection between the ray and the projection image. So
with a cone-beam geometry and a squared projection, you obtain a
pyramid provided that the volume is large enough. Maybe you should try
to obtain some basic information on filtered backprojection from a
person in your group or in a book? Kak and Slaney's book is famous and
freely available online:
http://www.slaney.org/pct/
Simon

On Wed, May 29, 2013 at 12:05 PM, Laura Trubuil
<laura.trubuil at mail.medecom.fr> wrote:
> I am sorry to annoy you again but I installed VV and read my backprojection
> reconstruction (outputBP.mha) with it.
> It seems that I obtain a cube with a pyramid inside. Not what I expected
> from a backprojection, I really do not understand.
>
> Laura
>
>
> Le 29/05/2013 09:52, Simon Rit a écrit :
>
>> I think you do not use an adequate window level when you display your
>> image. Try using vv (http://vv.creatis.insa-lyon.fr) which default WL
>> is adjusted to the min / max of your image.
>> Simon
>>
>> On Wed, May 29, 2013 at 9:49 AM, Laura Trubuil
>> <laura.trubuil at mail.medecom.fr> wrote:
>>>
>>> Dear Simon,
>>> Thank you for your answer.
>>> I have tried this morning both of your techniques but, unfortunately, I
>>> obtain the same result as I had previously. There is still something I am
>>> missing I guess... If anybody has suggestions!
>>> Regards,
>>>
>>> Laura
>>>
>>>
>>>
>>> Le 28/05/2013 20:30, Simon Rit a écrit :
>>>
>>>> Hi Laura,
>>>> I think you are missing a point in the geometry definition. By
>>>> default, it assumes that the ray going through the source and the
>>>> isocenter (point of coordinate 0 0 0 in the volume) is intersecting
>>>> the projection at coordinate (0 0). In the projection that you have
>>>> sent, (0 0) is the corner of your image.
>>>> Two solutions :
>>>> - run the geometry specifying the translation
>>>> rtksimulatedgeometry -o geometry.xml -n 1 --sdd 300 --sid 150
>>>> --proj_iso_x -50 --proj_iso_y -50
>>>> rtkbackprojections -p . -r headerOneImage.mhd -o test.mha -g
>>>> geometry.xml
>>>> - Change the origin of your image in your mhd file by adding the
>>>> following
>>>> line
>>>> Offset = -50 -50
>>>> Simon
>>>>
>>>> On Mon, May 27, 2013 at 3:44 PM, Laura Trubuil
>>>> <laura.trubuil at mail.medecom.fr> wrote:
>>>>>
>>>>> Dear RTK-users,
>>>>>
>>>>> I am working on reconstruction with RTK backprojection algorithm.
>>>>> RTK Wiki examples worked fine but now, I am trying with my own images,
>>>>> and I
>>>>> obtain a result I cannot explain.
>>>>>
>>>>> I have 15 projections, simulated with GATE. My phantom is a water
>>>>> cylinder,
>>>>> containing 4 balls of different materials.
>>>>> I attached one of them with the mail, to give an example (the other are
>>>>> quite similar, only the place of the balls changes).
>>>>>
>>>>> I generate a geometry.xml file with the command : rtksimulatedgeometry
>>>>> -o
>>>>> geometry.xml -n 15 --sdd 300 --sid 150
>>>>> and then apply rtkbackprojection with : rtkbackprojections -o
>>>>> output.mha
>>>>> -g
>>>>> geometry.xml -r header.mhd -p.
>>>>> I display output.mha with VTK and obtain a white cube...
>>>>>
>>>>> Does anybody have an idea of what I am missing? Is the number of
>>>>> projections
>>>>> too small? Is it a display problem?
>>>>>
>>>>> Regards,
>>>>>
>>>>> Laura Trubuil
>>>>>
>>>>>
>>>>>
>>>>> Le 13/05/2013 16:14, Simon Rit a écrit :
>>>>>
>>>>> Dear Laura,
>>>>> If you use rtk::FDKConeBeamReconstructionFilter, there is a weighting
>>>>> by the angular gap (angular distance between the previous and the next
>>>>> projection) so that will be a problem. If you only use the
>>>>> backprojection, that should not be a problem.
>>>>> With FDK, there are a few solutions, the simplest being to trick the
>>>>> algorithm by adding 2 projections with zeros at the beginning and the
>>>>> end of your tomosynthesis acquisition.
>>>>> If you have some problems with the geometry, don't hesitate to provide
>>>>> your Gate macros and we can try to help.
>>>>> Simon
>>>>>
>>>>> On Tue, May 7, 2013 at 10:05 AM, Laura Trubuil
>>>>> <laura.trubuil at mail.medecom.fr> wrote:
>>>>>
>>>>> Dear Simon,
>>>>> Thank you for your help.
>>>>>
>>>>> It is a circular cone beam CT, yes.
>>>>> In fact, what I precisely do is working on tomosynthesis. I use the CT
>>>>> scanner simulator of GATE as a basis for a tomosynthesis simulation.
>>>>> The
>>>>> only differences are that the X-Ray dose is lower, and the angle is not
>>>>> 360°
>>>>> but 40° maximum. I do not think it is a problem for RTK, is it?
>>>>> First, I intend to use RTK backprojection, and then, I will try to
>>>>> enhance
>>>>> the quality of the reconstruction by filtering techniques.
>>>>>
>>>>> I have already done some simulations on GATE, for small animal in a
>>>>> first
>>>>> time (because the computation time is too long for real human chest
>>>>> detectors, which are much bigger). It allows me to work on algorithms
>>>>> and
>>>>> test reconstruction with something, for the moment! I will be glad to
>>>>> help
>>>>> you if I can.
>>>>>
>>>>> I will continue studying RTK examples, I will let you know if I make
>>>>> some
>>>>> progress. Thanks again.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Laura
>>>>>
>>>>>
>>>>> Le 07/05/2013 01:50, Simon Rit a écrit :
>>>>>
>>>>> Hi,
>>>>> I don't know the CT simulation module of Gate so I can't help you. I
>>>>> will discuss this matter with my colleagues. We are currently working
>>>>> on a new CT simulation module but we definitely need to investigate
>>>>> how one can reconstruct from the existing module. What is the geometry
>>>>> of the scanner, is it circular cone-beam CT? It is the only geometry
>>>>> that RTK can handle.
>>>>> To understand how to use mhd files, you can look at other examples on
>>>>> RTK wiki. We will work on your problem and I'll let you know as soon
>>>>> as we have progressed but keep us informed if you make some progresses
>>>>> on your side.
>>>>> Regards,
>>>>> Simon
>>>>>
>>>>> On Mon, May 6, 2013 at 9:21 AM, Laura Trubuil
>>>>> <laura.trubuil at mail.medecom.fr> wrote:
>>>>>
>>>>> Dear Simon,
>>>>>
>>>>> Thank you for your answer.
>>>>> I  am using the CT Scanner simulation in GATE, so the output available
>>>>> are
>>>>> the ".root" and the ".dat" only.
>>>>>
>>>>> First, I simply tried to change the extension ".dat" to ".mhd" or to
>>>>> ".raw"
>>>>> but, as expected, it does not work because I need to specifiy which
>>>>> kind
>>>>> of
>>>>> data the file contains (the role of the header in fact...).
>>>>> Then, I tried to do something with the GateToImage Class, which
>>>>> contains
>>>>> a
>>>>> function called WriteMHD, but it was not a success... I did not find a
>>>>> way
>>>>> to directly obtain ".mhd" from a CT Scanner simulation from GATE. That
>>>>> is
>>>>> when I decided to ask the RTK users!
>>>>>
>>>>> With M. Mory's method, I am now able to open  my ".dat" files with
>>>>> ImageFileReader function from ITK, and visualize it with VTK.
>>>>>
>>>>>
>>>>> For the moment, I am trying to reconstruct slices from 15 projections
>>>>> acquired with the CT Scanner example in GATE.
>>>>> Have you got any example of reconstruction of slices from projections
>>>>> with
>>>>> RTK?
>>>>>
>>>>> I already studied the Sphere reconstruction tuto, but it does not help
>>>>> me
>>>>> to
>>>>> understand how I can make use of my ".mhd" files in the RTK algorithms.
>>>>> I
>>>>> will do further research work.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Laura Trubuil
>>>>>
>>>>>
>>>>>
>>>>> Le 05/05/2013 11:20, Simon Rit a écrit :
>>>>>
>>>>> Dear Laura,
>>>>> I think that in the latest version of Gate, you should be able to
>>>>> write mhd files. hdr file format should also work in both platforms.
>>>>> What happens if you change the extension of your output files to .mhd?
>>>>> Regards,
>>>>> Simon
>>>>>
>>>>> On Thu, May 2, 2013 at 10:51 AM, MORY, CYRIL <Cyril.Mory at philips.com>
>>>>> wrote:
>>>>>
>>>>> Hi Laura,
>>>>>
>>>>> In the .mhd and .raw format, the .raw file is a binary file of floats
>>>>> (or
>>>>> whatever) representing the pixel intensities, and the .mhd a simple
>>>>> header
>>>>> that indicates the number of dimensions, the size in pixels along each
>>>>> dimension, ... Your .dat seems to be exactly the same as the .raw
>>>>> You can create the .mhd header yourself, using a text editor. Here is
>>>>> an
>>>>> example :
>>>>>
>>>>> ObjectType = Image
>>>>> NDims = 2
>>>>> BinaryData = True
>>>>> BinaryDataByteOrderMSB = False
>>>>> CompressedData = False
>>>>> TransformMatrix = 1 0 0 1
>>>>> Offset = -190.5 -190.5
>>>>> CenterOfRotation = 0 0
>>>>> ElementSpacing = 3 3
>>>>> DimSize = 128 128
>>>>> ElementType = MET_FLOAT
>>>>> ElementDataFile = SheppLogan.raw (try to replace this field with your
>>>>> .dat filename)
>>>>>
>>>>> If I were you, I'd start by trying to adjust these parameters until you
>>>>> manage to visualize a single projection (there are plenty of viewers
>>>>> that
>>>>> open mhd/raw files), and then create a header for the whole sequence
>>>>> (NDims
>>>>> = 3, etc ...) and concatenate the .dat binary files into a single one.
>>>>> You
>>>>> could use a script like the following :
>>>>>
>>>>> #!/bin/bash
>>>>> # Concatenate all projections into a single raw file
>>>>> NbProj=300
>>>>> i=0
>>>>> list="projection${i}.raw"
>>>>> for i in $(seq 1 1 $(($NbProj-1)))
>>>>> do
>>>>>             list="$list projection${i}.raw"
>>>>> done
>>>>> cat $list > SheppLogan.raw
>>>>>
>>>>> which would concatenate all files named "projection0.raw",
>>>>> "projection1.raw", ... into "SheppLogan.raw"
>>>>>
>>>>>
>>>>> -----Message d'origine-----
>>>>> De : rtk-users-bounces at openrtk.org
>>>>> [mailto:rtk-users-bounces at openrtk.org]
>>>>> De la part de Laura Trubuil
>>>>> Envoyé : jeudi 2 mai 2013 09:29
>>>>> À : rtk-users at openrtk.org
>>>>> Objet : [Rtk-users] .dat to .mha image
>>>>>
>>>>> Dear RTK users,
>>>>>
>>>>> I am working on GATE (from Geant4), to create projections images of
>>>>> tomosynthesis.
>>>>> I have projections but they are in ".dat" format (binary matrix of
>>>>> float
>>>>> numbers that stores the simulated tomosynthesis image and is produced
>>>>> for
>>>>> each time slice).
>>>>>
>>>>> I want to reconstruct a 3D volume, from projections, with RTK.
>>>>> To do that, I know I must change the format of my images (for example
>>>>> to
>>>>> .mhd/.raw or to .mha format) but my problem is that I do not know how.
>>>>>
>>>>> I anyone could help...
>>>>>
>>>>> Regards,
>>>>>
>>>>> Laura
>>>>>
>>>>> _______________________________________________
>>>>> Rtk-users mailing list
>>>>> Rtk-users at openrtk.org
>>>>> http://public.kitware.com/cgi-bin/mailman/listinfo/rtk-users
>>>>>
>>>>> ________________________________
>>>>> The information contained in this message may be confidential and
>>>>> legally
>>>>> protected under applicable law. The message is intended solely for the
>>>>> addressee(s). If you are not the intended recipient, you are hereby
>>>>> notified
>>>>> that any use, forwarding, dissemination, or reproduction of this
>>>>> message is
>>>>> strictly prohibited and may be unlawful. If you are not the intended
>>>>> recipient, please contact the sender by return e-mail and destroy all
>>>>> copies
>>>>> of the original message.
>>>>>
>>>>> _______________________________________________
>>>>> Rtk-users mailing list
>>>>> Rtk-users at openrtk.org
>>>>> http://public.kitware.com/cgi-bin/mailman/listinfo/rtk-users
>>>>>
>>>>> _______________________________________________
>>>>> Rtk-users mailing list
>>>>> Rtk-users at openrtk.org
>>>>> http://public.kitware.com/cgi-bin/mailman/listinfo/rtk-users
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Rtk-users mailing list
>>>>> Rtk-users at openrtk.org
>>>>> http://public.kitware.com/cgi-bin/mailman/listinfo/rtk-users
>>>>>
>>>
>
>



More information about the Rtk-users mailing list