[Dcmlib] GetPatSliceOrient(gdcm::File &h) (BIS)
Jean-Pierre Roux
jpr at creatis.insa-lyon.fr
Tue Oct 4 10:58:50 CEST 2005
Mathieu Malaterre wrote:
> I would like to see it as OrderType:
I'm affraid I didn't get what you want to do :
The 'OrderType' is *not* a characteristics of a Serie .
The user, depending on what *he* knows, decides to ask gdcm to perform a
given job on a given Serie.
The job may be 'dropping some images' according to a given crierion, or
'splitting the Serie' depending on a given criterion.
The same serie may be slipped different ways, depending on what user
wants to do :
If he has a 'spatio-temporal' Serie, he may split it on the position (he
is interested in working on the temporal evolution of each slide) or on
the time
(he is interested in working on the varoius volumes)
My question was on how to return the result of the extra job user will
ask gdcm to perform on a given CoherentFileList (same Series Instance UID).
The result of this job may be *more than one* FileList (file :
gdcm::File pointer, not 'file name')
JP
>
> 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
>>
>
More information about the Dcmlib
mailing list