MeVisLab Toolbox Reference
mlMultiFileVolumeListSort.h
Go to the documentation of this file.
1 // Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2 // **InsertLicense** code
3 //----------------------------------------------------------------------------------
5 
10 //----------------------------------------------------------------------------------
11 #pragma once
12 
14 #include <mlTypeDefs.h>
15 
16 
17 ML_START_NAMESPACE
18 
19 class MultiFileVolumeList;
20 
21 //----------------------------------------------------------------------------------
23 //----------------------------------------------------------------------------------
25  public:
26 
28  enum SortModes {
29  NoSort = 0,
44  SortAccordingDcmTag,
49 
50  NumberOfSortModes
51  };
52 
54  static const char *const SortModeStrings[NumberOfSortModes];
55 
56  // Default constructor.
58 
71  void sortVolumes(MultiFileVolumeList &mfvListToSort,
72  SortModes sortMode,
73  bool sortUpwards,
74  MLint rawTagId,
75  bool useNumericTagStringValueSorting) const;
76 };
77 
78 ML_END_NAMESPACE
Project global and OS specific declarations.
#define MLMULTI_FILE_VOLUME_EXPORT
Only for diagnostic purposes.
Tool class to sort MultiFileVolumeLists according to specific properties.
void sortVolumes(MultiFileVolumeList &mfvListToSort, SortModes sortMode, bool sortUpwards, MLint rawTagId, bool useNumericTagStringValueSorting) const
Sorts mfvListToSort according the given sort criteria sortMode; it sorts larger values to the start i...
SortModes
Possible modes how to reorder the volumes.
@ XExtent
Volumes with the biggest x extent are sorted to the start.
@ VoxelVolume
Volumes with the biggest voxel volume are sorted to the start.
@ TExtent
Volumes with the biggest t extent are sorted to the start.
@ ZExtent
Volumes with the biggest z extent are sorted to the start.
@ NumVoxelComponents
Volumes with the biggest number of voxel components are sorted to the start.
@ NumBytes
Volumes with the highest number of bytes are sorted to the start.
@ UExtent
Volumes with the biggest u extent are sorted to the start.
@ NumVoxels
Volumes with the highest number of voxels are sorted to the start.
@ FilterLabel
Volumes are sorted according to their label define by input filter plugins.
@ NumSliceBytes
Volumes with the highest number of bytes in slices are sorted to the start.
@ NumSliceVoxels
Volumes with the highest number of voxels in slices are sorted to the start.
@ YExtent
Volumes with the biggest y extent are sorted to the start.
@ CXExtent
Volumes with the biggest c extent are sorted to the start.
@ ValidVolumes
Valid volumes are sorted to the start.
@ VoxelTypeSize
Volumes with the biggest voxel data type size are sorted to the start.
Class managing a list of MultiFileVolume instances for the DirectDicomImport module; taking ownership...
MLint64 MLint
A signed ML integer type with at least 64 bits used for index calculations on very large images even ...
Definition: mlTypeDefs.h:578