MeVisLab Toolbox Reference
ml::MultiFileVolumeProcessor Namespace Reference

Tools for MultiFileVolume manipulations. More...

Functions

MLMULTI_FILE_VOLUME_EXPORT void removeAndOptimizeSetNGoDuplicates (MultiFileVolume &mfVolume, std::vector< size_t > &removedFrameIndexes, DicomMessageCollector &dcmMsgCollector)
 This function checks whether mfVolume.
 

Detailed Description

Tools for MultiFileVolume manipulations.

Function Documentation

◆ removeAndOptimizeSetNGoDuplicates()

MLMULTI_FILE_VOLUME_EXPORT void ml::MultiFileVolumeProcessor::removeAndOptimizeSetNGoDuplicates ( MultiFileVolume mfVolume,
std::vector< size_t > &  removedFrameIndexes,
DicomMessageCollector dcmMsgCollector 
)

This function checks whether mfVolume.

  • is a Siemens "...setsNgo..." sequence in (0008,103e) LO SeriesDescription tag
  • has overlapping regions where frames have the same global position according to the sum of the private tags [ImaAbsTablePosition, Siemens, SIEMENS MR HEADER] and [SlicePosition_PCS, Siemens, SIEMENS MR HEADER] and
  • eliminates frames with duplicate frame positions to single ones In valid Siemens SetNGo sequences duplicate frames are removed, the mfVolume is adapted to remain valid and an empty string is returned, issues is set empty or not. On invalid Siemens SetNGo sequences mfVolume is left unchanged and an empty string is returned, issues will be non empty). On inconsistent sequences (e.g. mixed setNGo and no setNGo frames) a non empty error string is returned and issues will describe the problem.
    Parameters
    mfVolumeThe MultiFileVolume in which duplicate indexes shall be removed.
    removedFrameIndexesReturn the indexes which have been removed by this call.
    dcmMsgCollectorCollects error, info and issue messages see also notes on return value. Messages logged into the dcmMsgCollector describe possible issues completely, thus the evaluation of the return code is optional. Even if ML_RESULT_OK is returned, messages may be logged into dcmMsgCollector.
    Notes and limitations:
  • The first two frames are used to determine the "normal" distance between frames and together which is multiplied with epsilonFactor to get the maximum distance between frames under which two frames are considered to be located at the same spatial position.

References removeAndOptimizeSetNGoDuplicates().

Referenced by removeAndOptimizeSetNGoDuplicates().