MeVisLab Toolbox Reference
ml::MultiFileVolumeProcessor Namespace Reference

Tools for MultiFileVolume manipulations. More...

Functions

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

Detailed Description

Tools for MultiFileVolume manipulations.

Function Documentation

◆ removeAndOptimizeSetNGoDuplicates()

MLMULTI_FILE_VOLUME_EXPORT MLErrorCode ml::MultiFileVolumeProcessor::removeAndOptimizeSetNGoDuplicates ( MultiFileVolume mfVolume,
double  epsilonFactor,
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.
    epsilonFactorAn epsilon value which defines a limit under which two frames are considered to have the same spatial location. A value of for example 0.05 means that a distance between two frames which is smaller than 5% of the normal distance between two frames makes both frames be handled as if they have the same spatial location.
    dcmMsgCollectorCollects error, info and issue messages (typically related to a handle).
    removedFrameIndexesReturn the indexes which have been removed by this call.
    Returns
    An empty string on successful operation or a string describing the problem otherwise.
    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.