22#include <FMEThirdPartyWarningsDisable.h>
26#include <FMEThirdPartyWarningsRestore.h>
30class DicomMessageCollector;
48 typedef std::vector< std::vector< std::vector<DICOMCachedIOFileHandle > > >
FileNameSet;
53 if (&otherObj !=
this){
55 _pageFileNames = otherObj._pageFileNames;
63 return _pageFileNames == otherObj._pageFileNames;
100 _pageFileNames.clear();
105 return _pageFileNames;
110 return _pageFileNames;
115 _pageFileNames = pFNames;
196 const std::string& cacheFileRootDirPath,
197 bool useRelativePaths)
const;
213 const std::string& cacheDirPath,
231 bool forceSearchInEnhancedHandles,
248 const std::string &tagValue,
251 bool forceSearchInEnhancedHandles,
275 bool forceSearchInEnhancedHandles,
276 bool doStringToValue,
278 bool createNullTagEntries=
false,
279 const std::string &nullEntryTagValue=
"",
280 bool createNotConvertibleTagEntries=
false,
281 const std::string &nonConvertibleTagValue=
"")
const;
307 bool forceSearchInEnhancedHandles,
Class to collect messages and errors related to a given frame handle.
bool hasMultiFrameHandle() const
Returns true if any page file name is an enhanced multi-frame handle, otherwise false.
MLErrorCode setStateFromString(const std::string &state, size_t tExt, size_t uExt, const std::string &cacheDirPath, size_t &readPos)
void clearPageFileNames()
Resets the file name set to extent 0 in all dimensions.
~ZTUFileNameSet()
Destructor.
void setPageFileNames(const FileNameSet &pFNames)
Set entire set of file names at once.
DICOMCachedIOFileHandle getOriginalFrameHandle() const
size_t getUExtentAt(size_t z=0, size_t t=0) const
bool searchFrameWithSOPInstanceUID(const std::string &sopInstanceUID, DICOMCachedIOFileHandle &foundHandle, DICOMTagTools::ZTUIndex &ztuPosition, bool forceSearchInEnhancedHandles, DicomMessageCollector &dcmMsgCollector) const
std::map< DICOMTagTools::ZTUIndex, DCMTree::Const_TagPtr > TagsWithPositionMap
Map of pairs of ZTU frame position with associated tag pointer.
ZTUFileNameSet(const ZTUFileNameSet &otherObject)
Copy constructor.
FileNameSet & getModifiablePageFileNameSet()
Returns the entire set of file names as modifiable object.
TagsWithPositionMap getTagFromAllFrames(unsigned int tagId, bool forceSearchInEnhancedHandles, bool doStringToValue, DicomMessageCollector &dcmMsgCollector, bool createNullTagEntries=false, const std::string &nullEntryTagValue="", bool createNotConvertibleTagEntries=false, const std::string &nonConvertibleTagValue="") const
bool areAllEntriesIdentical() const
bool allHandlesExistAsFile(bool allowEmpty) const
bool operator!=(const ZTUFileNameSet &otherObj) const
Returns false if the passed FileNameSets equals this, otherwise true.
std::vector< std::vector< std::vector< DICOMCachedIOFileHandle > > > FileNameSet
size_t getNumFrames() const
Returns the entire number of file names in set.
bool operator==(const ZTUFileNameSet &otherObj) const
Returns true if the passed FileNameSets equals this, otherwise false.
size_t getTExtent() const
Returns the maximum extent of the file set in T-dimension in all z entries.
size_t getZExtent() const
Returns the extent of the file set in Z-dimension.
void appendFileName(const std::string &fileName, bool appendToZ)
void appendFileNameToU(const std::string &fileName)
Append a file name to the u-dimension at z/t-position 0.
void appendFileNameToT(const std::string &fileName)
Append the file name to the t dimension at z-position 0.
bool searchFrameWithValueInTag(unsigned int tagId, const std::string &tagValue, DICOMCachedIOFileHandle &foundHandle, DICOMTagTools::ZTUIndex &ztuPosition, bool forceSearchInEnhancedHandles, DicomMessageCollector &dcmMsgCollector) const
std::vector< DICOMCachedIOFileHandle > getAllFileHandles(const DICOMTagTools::ZTUVector &suppressedHandles=DICOMTagTools::ZTUVector()) const
DICOMCachedIOFileHandle getFirstNonEmptyFileName() const
bool needsNewSOPInstanceUID(bool allowOneToOneEnhancedFrameRecomposition, DicomMessageCollector &dcmMsgCollector) const
size_t getUExtent() const
Returns the maximum extent of the file set in U-dimension in all z and u entries.
ZTUFileNameSet & operator=(const ZTUFileNameSet &otherObj)
Assign members without cacheProxies.
void appendFileNameToZ(const std::string &fileName)
Append a file name to the z-dimension (there the extents in t and u are set to 1).
void setPageFileName(size_t z, size_t t, size_t u, const std::string fName)
const DICOMCachedIOFileHandle & getPageFileName(size_t z, size_t t, size_t u=0) const
bool isValidPosition(size_t z, size_t t, size_t u) const
const FileNameSet & getConstPageFileNameSet() const
Returns the entire set of file names as constant.
ZTUFileNameSet()
Constructor.
bool hasEmptyPagesFileName() const
Returns true if any page file name is an empty string, otherwise false..
size_t getTExtentAt(size_t z=0) const
bool hasNormalFrameHandle() const
std::string getStateAsString(const std::string &lineEndStr, const std::string &cacheFileRootDirPath, bool useRelativePaths) const
std::string getFileNameSetAsInfoString(bool fileNamesOnly=false) const
void resizePageFileNamesToVolumeSize(size_t newZExt, size_t newTExt, size_t newUExt)
MLint32 MLErrorCode
Type of an ML Error code.
Header file of class ZTUIndex managing a multi-frame Z, T, and U-dimension plus a string value.
boost::shared_ptr< const Tag > Const_TagPtr
ZTUFileNameSet DirectDicomImportPageFileNameSet
For backward compatibility to DirectDicomImport applications:
DICOMCachedIOFileHandleBase< char > DICOMCachedIOFileHandle
"Forward" to DICOMCachedIOFileHandle.