[Dcmlib] Images axial acquisition order
Jean-Pierre ROUX
jean-pierre.roux at creatis.insa-lyon.fr
Sun Jul 17 18:33:49 CEST 2005
At 9:14 +0200 17/07/05, Luca Picello wrote:
>It's wonderful JP. I'd really like to help you more on writing the
>sources but I may need some more docs.
>About my latest problem here a screenshort where you can understand it well.
>Here I rendered the volume with VTK but as you can see the X axis
>for this patient is swapped left with right.
>
>Information from one slice:
>
>Patient Position : HFS.
>Patient Orientation : L\P.
OK, I see the pb.
It probabely comes from the 'orientation convention' in Dicom.
If you 'cut a slice' (i.e; make an image) out of the patient, lying
on his back,
the result will look different whether you're standing near the
patient's feet, or near the patient's head.
We never toke this information into account in gdcm, till now.
(Too many troubles with reading 'exotic' images ...)
We considered it was up to the user to decide *where* he must place
the camera, in VTK, for instance.
I think we should add a method to gdcm::SerieHelper to allow user to
tell whether he wants gdcm to take 'position' and 'orientation' into
account (that will cause some overhead), or if he wants to keep the
images as there are.
I guess there are some heuristics to 'discover', before writting the code.
I'm going to ask to our friends from THERALYS, I'm almost sure they
*had* to do the job, maybe in C++, or in Python.
==> Emmanuel, are you on holydays ?
Or still reading the mails?
JPRx
>
>If you need it for testing pourposes, let me know.
>Thanks,
>
>Luca
>
>
>
>Jean-Pierre ROUX wrote:
>
>>At 13:58 +0200 16/07/05, Luca Picello wrote:
>>
>>>
>>>Hello everybody again,
>>>I wonder if with vtkGdcmReader I can read images with correct
>>>axial acquisition order.
>>>I observe I have right swapped with left in my image datas...
>>>it's really nasty and I feel it's similar to yesterday's reported issue
>>>we do need absolutely SerieHelper in vtkGdcmReader asap :-(
>>
>>
>>Hi, everybody.
>>
>>I just finished testing a new feature for vtkGdcmReader.
>>
>>>
>>
>>We can now :
>>
>>gdcmSerieHelper *sh = new gdcmSerieHelper();
>>sh->SetDirectory(myImageDirectory, true);
>>gdcmFileList *l = s->GetFirstCoherentFileList();
>>s->OrderFileList(l);
>>
>>vtkGdcmReader *gr = new vtkGdcmReader();
>>gr->SetCoherentFileList(l);
>>
>>This works with a directory that contains only one 'Serie' (same
>>Serie UID for all the images).
>>If it contains more than one serie, you'll have to loop on the Series, using
>>GetNextCoherentFileList();
>>
>>(That's why gdcm::SerieHelper is used outside of vtkGdcmReader, not inside)
>>
>>PS :
>>OrderFileList orders the images :
>>- on the 'Image Position Patient'
>> if it's not found or if there are more than one image at the same position,
>>- on Image Number
>> if image numbers are not coherent,
>>- on the file names :-(
>>We can easyly add more sorting conditions.
>>
>>I'll commit it soon.
>>
>>I don't understand the pb with write/left swapping in images ?
>>
>>Jean-Pierre
>>
>>
>>>
>>>luca
>>>
>>>
>>>
>>>_______________________________________________
>>>Dcmlib mailing list
>>>Dcmlib at creatis.insa-lyon.fr
>>>http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib
>>
>>
>> Jean-Pierre ROUX
>> CREATIS - CNRS UMR 5515, INSERM U 630
>> Laboratoire de Radiologie Experimentale
>> Hopital Cardiologique
>> 28 Avenue du Doyen LEPINE
>> B.P. Lyon-Montchat
>> 69394 Lyon Cedex 03
>>
>> Tel : (+33) 04 72 35 74 12
>> Fax : (+33) 04 72 68 49 16
>> URL : http://www.creatis.univ-lyon1.fr
>> e-mail : jpr at creatis.univ-lyon1.fr
>> .
>>
>
>
>Attachment converted: HD 9.2:swapped-volume.JPG (JPEG/JVWR) (00018A6E)
Jean-Pierre ROUX
CREATIS - CNRS UMR 5515, INSERM U 630
Laboratoire de Radiologie Experimentale
Hopital Cardiologique
28 Avenue du Doyen LEPINE
B.P. Lyon-Montchat
69394 Lyon Cedex 03
Tel : (+33) 04 72 35 74 12
Fax : (+33) 04 72 68 49 16
URL : http://www.creatis.univ-lyon1.fr
e-mail : jpr at creatis.univ-lyon1.fr
More information about the Dcmlib
mailing list