[Dcmlib] GetPatSliceOrient(gdcm::File &h) (BIS)
Mathieu Malaterre
mathieu.malaterre at kitware.com
Tue Oct 4 04:40:14 CEST 2005
I would like to see it as OrderType:
enum OrderType {
ScoutViewOrder, // well you are on your own
OrientationOrder,
PositionOrder,
TimeOrder,
FilenameOrder,
Unknown, // aka Impossible/Crazy/Brain Dead
}
Is that all ?
So we would need a vector containing:
{ list of filename1, OrderType1}
{ list of filename2, OrderType2}
{ list of filename3, OrderType3}
...
Comments ?
Mathieu
Jean-Pierre ROUX wrote:
> At 21:24 +0200 3/10/05, Luca Picello wrote:
>
>> Hello JP!!
>> Thank you for the check. As you can see this dataset is really nasty,
>> however I do not need to use it in my application.
>
>
> That's one of the most beautifull data set I've ever seen..
> Allmost *all* the possible troubles are here !
>
> I think we should add, to be used on each 'CoherentFileList' - after
> gdcm::SerieHelper constructor - , some methods like :
>
> DiscardMinorityOrientations(), that could be used by aware users to drop
> scout views out of a list of slices (all images but one have the same
> Orientation)
>
> SplitOnOrientation(), that could be used by aware users to create as
> many list as there are orientations
>
> SplitOnPosition(), that could be used by aware users to create as many
> list as there are positions (sometimes, in the same 'Serie', there are
> images corresponding to several slices, at different times; what's
> meaningfull forthe user is the temporal evolution of a given slice)
>
> SplitOnTime() (sometimes, in the same 'Serie', there are images
> corresponding to twice the same volume -before and after injection-;
> what's meaningfull for the user is each volume)
>
> SplitOnWhatYouWant( ComparisonFunction) The users knows exactly what he
> wants -hope so-, he passes is own comparison function.
>
> What I didn't think about, is the way we return the result (a list of
> CoherentFileList ?)
>
> Any opinion ?
> JPRx
>
>> I tried it just for fun to see what are the parser limits.
>> However, it may be another pharentesis we can open to improve gdcm
>> capabilities.
>>
>> JP, I do not loose any image. I just open the root (ST1) directory.
>> GDCM then scan all the subirs and then creates its internal lists. I
>> just use the first one ;-)
>>
>> Luca
>>
>> ps: about orientation, do you have any more docs than
>> http://www.dclunie.com/medical-image-faq/html/part2.html#DICOMOrientat
>> ion ???
>>
>>
>>
>> Jean-Pierre ROUX wrote:
>>
>>> At 17:09 +0200 1/10/05, Luca Picello wrote:
>>>
>>>> Hi JP,
>>>> I believe I wrote my code exactly as you suggest to do.
>>>> And I believe it happens exactly what you describe (images are
>>>> ignored).
>>>> Here we can open another parenthesis on how to choose the right
>>>> slices to build the volume ;-)
>>>> the anonimized dataset can be downloaded at
>>>> http://www.surgisystems.com/ST1.zip [about 40 megabytes]
>>>
>>>
>>>
>>> Luca,
>>> I dowloaded the dataset, and I don't get in which Serie is your
>>> problem nad/or haow to solve it automaticaly.
>>>
>>> The Study, in directory ST1, is splitted into 12 directories SE1, ...
>>> SE12, each one has a single Serie (same Series Instance UID).
>>>
>>> Series SE5, SE6, SE9, SE10 contain MIP images; each image has a
>>> different Orientation.
>>> I guess you don't want to make a volume with them ;-)
>>>
>>> Serie SE1 contains 'scout views' (3 Coronal images + 3 axial + 3
>>> sagital)
>>>
>>> Series SE2, SE3, SE4, SE7, SE8 are mono-incidence (no problem for
>>> you, I suppose)
>>>
>>> In Serie SE11, all the images are Axial, but one that's Sagital
>>> In Serie SE12, all Coronal + 1 Sagital
>>> In Serie SE12, all Sagital + 1 axial
>>>
>>> For the Series SE11, SE12, SE13, splitting them according to the
>>> Orientation would be usefull for you,
>>> but would be stupid for Series holding MIP images....
>>>
>>> I you think about something clever we could do ...
>>>
>>> --> Tell me : in which Serie do you 'loose' images ?
>>> (When I use
>>> gdcmSerieViewer dirname=SE11
>>> -just an example to show how to use vtkGdcmReader + gdcm::SerieHelper-
>>> I can see *all* the images ).
>>>
>>> JP
>>>
>>>
>>>
>>>>
>>>> cya,
>>>> Luca
>>>>
>>>>
>>>>
>>>> Jean-Pierre ROUX wrote:
>>>>
>>>>>> Hello everybody.
>>>>>> I see you are playing with orientation....
>>>>>> I have some new datasets to test...
>>>>>> Some are total-body and I can see something strange (to me at least):
>>>>>> in the same dicomdir images are oriented differently.
>>>>>> thus, the reader return only few slices when I have many and many
>>>>>> of them....
>>>>>> does it suggest to you something?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Hi, Luca.
>>>>> How do you use vtkgdcmreader?
>>>>> -->The 'usual' way (passing info to build the file names) considers
>>>>> the orientation of the *first* image and discards any image with a
>>>>> different orientation, considering it's a bugged image (?!?)
>>>>> (This feature was written a ling time ago ...)
>>>>>
>>>>> -->You may now pass a CoherentFileList (result of gdcm::SerieHelper
>>>>> -that may build more than one SerieHelper-)
>>>>> Normaly (?), within a CoherentFileList (same "Serie Instance UID"),
>>>>> you should have the same orientation.
>>>>>
>>>>> (note : this is not 100% true, since for MR studies, a single serie
>>>>> may hold all the 'scout views', with 2 or 3 diferrent orientations
>>>>> -but never anybody will try use scout view as 'slices' to make a
>>>>> volume-)
>>>>>
>>>>> If this new feature doesn't help you, could you upload your images
>>>>> somewhere, so we can have a look at them.
>>>>> (use
>>>>> AnonymizeNoLoad dirin=yourSinglePatientImageDirectory
>>>>> to anomymize the whole directory)
>>>>
>>>>
>>>
>>> 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
>>> .
>
>
> 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
>
> _______________________________________________
> Dcmlib mailing list
> Dcmlib at creatis.insa-lyon.fr
> http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib
>
More information about the Dcmlib
mailing list