13 #ifndef mitkDICOMImageBlockDescriptor_h
14 #define mitkDICOMImageBlockDescriptor_h
29 #include <unordered_map>
48 return "DICOMCachedValueLookupTable";
121 void SetFlag(
const std::string& key,
bool value);
123 bool GetFlag(
const std::string& key,
bool defaultValue)
const;
131 const std::string &contextName =
"",
132 bool fallBackOnDefaultContext =
true)
const override;
135 bool includeDefaultContext =
false)
const override;
142 void SetSliceIsLoaded(
unsigned int index,
bool isLoaded);
144 bool IsSliceLoaded(
unsigned int index)
const;
146 bool AllSlicesAreLoaded()
const;
208 void Print(std::ostream& os,
bool filenameDetails)
const;
213 std::string GetPixelSpacing()
const;
214 std::string GetImagerPixelSpacing()
const;
218 void UpdateImageDescribingProperties()
const;
222 double stringtodouble(
const std::string& str)
const;
231 PropertyList::Pointer m_PropertyList;
237 mutable bool m_PropertiesOutOfDate;
240 std::set<std::string> m_FoundAdditionalTags;
Abstract base class for properties.
const char * GetNameOfClass() const override
~DICOMCachedValueLookupTable() override
DICOMCachedValueLookupTable Self
Superclass & operator=(const Superclass &other) override
DICOMCachedValueLookupTable()
GenericLookupTable< DICOMCachedValueInfo > Superclass
Output descriptor for DICOMFileReader.
std::vector< std::string > GetPropertyKeys(const std::string &contextName="", bool includeDefaultContext=false) const override
Query keys of existing properties.
Image::Pointer GetMitkImage() const
the 3D mitk::Image that is loaded from the DICOM files of a DICOMImageFrameList
void SetIntProperty(const std::string &key, int value)
Convenience function around SetProperty()
void SetSplitReason(IOVolumeSplitReason::Pointer reason)
bool GetFlag(const std::string &key, bool defaultValue) const
Convenience function around GetProperty()
void SetReaderImplementationLevel(const ReaderImplementationLevel &level)
Reader's capability to appropriately load this set of frames.
void Print(std::ostream &os, bool filenameDetails) const
Print information about this image block to given stream.
BaseProperty::ConstPointer GetConstProperty(const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=true) const override
Get property by its key.
std::map< DICOMTagPath, std::string > AdditionalTagsMapType
DICOMImageBlockDescriptor()
void SetTiltInformation(const GantryTiltInformation &info)
Describe the gantry tilt of the acquisition.
std::string GetSOPClassUID() const
SOP Class UID of this set of frames.
const DICOMImageFrameList & GetImageFrameList() const
List of frames that constitute the mitk::Image (DICOMImageFrames)
PixelSpacingInterpretation GetPixelSpacingInterpretation() const
Describe how the mitk::Image's pixel spacing should be interpreted.
IOVolumeSplitReason::Pointer GetSplitReason()
void SetFlag(const std::string &key, bool value)
Convenience function around SetProperty()
static DICOMTagList GetTagsOfInterest()
std::string GetSOPClassUIDAsName() const
SOP Class as human readable name (e.g. "CT Image Storage")
void GetDesiredMITKImagePixelSpacing(ScalarType &spacingXinMM, ScalarType &spacingYinMM) const
Describe the correct x/y pixel spacing of the mitk::Image (which some readers might need to adjust af...
~DICOMImageBlockDescriptor() override
DICOMImageBlockDescriptor & operator=(const DICOMImageBlockDescriptor &other)
DICOMImageBlockDescriptor(const DICOMImageBlockDescriptor &other)
ReaderImplementationLevel GetReaderImplementationLevel() const
Reader's capability to appropriately load this set of frames.
int GetNumberOfFramesPerTimeStep() const
std::string GetPropertyAsString(const std::string &) const
Convenience function around GetProperty()
void SetProperty(const std::string &key, BaseProperty *value)
Key-value store describing aspects of the image to be loaded.
std::vector< std::string > GetPropertyContextNames() const override
Query names of existing contexts.
std::function< mitk::BaseProperty::Pointer(const DICOMCachedValueLookupTable &) > TagLookupTableToPropertyFunctor
void SetImageFrameList(const DICOMImageFrameList &framelist)
List of frames that constitute the mitk::Image (DICOMImageFrames)
BaseProperty * GetProperty(const std::string &key) const
Key-value store describing aspects of the image to be loaded.
const GantryTiltInformation GetTiltInformation() const
Describe the gantry tilt of the acquisition.
void SetSOPClassUID(const std::string &uid)
SOP Class UID of this set of frames.
void SetMitkImage(Image::Pointer image)
The 3D mitk::Image that is loaded from the DICOM files of a DICOMImageFrameList.
IOVolumeSplitReason::ConstPointer GetSplitReason() const
int GetNumberOfTimeSteps() const
int GetIntProperty(const std::string &key, int defaultValue) const
Convenience function around GetProperty()
void SetAdditionalTagsOfInterest(const AdditionalTagsMapType &tagMap)
Set a list of DICOMTagPaths that specify all DICOM-Tags that will be copied into the property of the ...
void SetTagLookupTableToPropertyFunctor(TagLookupTableToPropertyFunctor)
Set a functor that defines how the slice-specific tag-values are stored in a Property.
void SetTagCache(DICOMTagCache *privateCache)
Template class for generating lookup-tables.
virtual Self & operator=(const Self &other)
std::shared_ptr< IOVolumeSplitReason > Pointer
std::shared_ptr< const IOVolumeSplitReason > ConstPointer
Image class for storing images.
ReaderImplementationLevel
Describes how well the reader is tested for a certain file type (see mitk::DICOMFileReader).
PixelSpacingInterpretation
How the mitk::Image spacing should be interpreted (see mitk::DICOMFileReader).
Find image slices visible on a given plane.
std::vector< DICOMImageFrameInfo::Pointer > DICOMImageFrameList
std::vector< DICOMTag > DICOMTagList
std::vector< bool > BoolList
unsigned int SliceInTimePoint