19 #include <itkGDCMImageIO.h>
35 ,m_InputFilenames( other.m_InputFilenames )
36 ,m_Outputs( other.m_Outputs )
37 ,m_ConfigLabel( other.m_ConfigLabel )
38 ,m_ConfigDescription( other.m_ConfigDescription )
48 m_InputFilenames = other.m_InputFilenames;
49 m_Outputs = other.m_Outputs;
50 m_ConfigLabel = other.m_ConfigLabel;
51 m_ConfigDescription = other.m_ConfigDescription;
60 m_ConfigLabel = label;
75 m_ConfigDescription = desc;
83 return m_ConfigDescription;
90 m_InputFilenames = filenames;
98 return m_InputFilenames;
105 return m_Outputs.size();
119 m_Outputs.resize(numberOfOutputs);
126 if (index < m_Outputs.size())
128 m_Outputs[index] = output;
132 std::stringstream ss;
133 ss <<
"Index " << index <<
" out of range (" << m_Outputs.size() <<
" indices reserved)";
134 throw std::invalid_argument( ss.str() );
142 os <<
"---- Configuration of " << this->GetNameOfClass() <<
" " << (
void*)
this <<
" ----"<< std::endl;
143 this->InternalPrintConfiguration(os);
144 os <<
"---- End of configuration ----" << std::endl;
152 os <<
"---- Outputs of DICOMFilereader " << (
void*)
this <<
" ----"<< std::endl;
154 for (
unsigned int o = 0; o < m_Outputs.size(); ++o)
156 os <<
"-- Output " << o << std::endl;
158 block.
Print(os, filenameDetails);
160 os <<
"---- End of output list ----" << std::endl;
168 if (index < m_Outputs.size())
170 return m_Outputs[index];
174 std::stringstream ss;
175 ss <<
"Index " << index <<
" out of range (" << m_Outputs.size() <<
" indices reserved)";
176 throw std::invalid_argument( ss.str() );
183 if (index < m_Outputs.size())
185 return m_Outputs[index];
189 std::stringstream ss;
190 ss <<
"Index " << index <<
" out of range (" << m_Outputs.size() <<
" indices reserved)";
191 throw std::invalid_argument( ss.str() );
200 return io->CanReadFile( filename.c_str() );
206 return m_AdditionalTagsOfInterest;
213 m_AdditionalTagsOfInterest = tagList;
221 m_TagLookupTableToPropertyFunctor = functor;
228 return m_TagLookupTableToPropertyFunctor;
itk::SmartPointer< Self > Pointer
const DICOMImageBlockDescriptor & GetOutput(unsigned int index) const
Individual outputs, only meaningful after calling AnalyzeInputFiles().
static bool IsDICOM(const std::string &filename)
Test whether a file is DICOM at all.
void SetConfigurationDescription(const std::string &)
One-sentence description of the reader's loading "strategy".
void SetNumberOfOutputs(unsigned int numberOfOutputs)
void SetConfigurationLabel(const std::string &)
Short label/name to describe this reader.
void PrintOutputs(std::ostream &os, bool filenameDetails=false) const
Print output description to given stream, for human reader.
virtual AdditionalTagsMapType GetAdditionalTagsOfInterest() const
void SetOutput(unsigned int index, const DICOMImageBlockDescriptor &output)
virtual void SetTagLookupTableToPropertyFunctor(mitk::DICOMImageBlockDescriptor::TagLookupTableToPropertyFunctor functor)
Set a functor that defines how the slice-specific tag-values are stored in a Property.
void SetInputFiles(const StringList &filenames)
This input files.
std::function< mitk::BaseProperty::Pointer(const DICOMCachedValueLookupTable &) > TagLookupTableToPropertyFunctor
mitk::DICOMImageBlockDescriptor::TagLookupTableToPropertyFunctor GetTagLookupTableToPropertyFunctor() const
static const std::string filename
DICOMImageBlockDescriptor & InternalGetOutput(unsigned int index)
non-const access to the DICOMImageBlockDescriptor
DICOMImageBlockDescriptor::AdditionalTagsMapType AdditionalTagsMapType
Output descriptor for DICOMFileReader.
virtual ~DICOMFileReader()
std::vector< std::string > StringList
std::string GetConfigurationDescription() const
One-sentence description of the reader's loading "strategy".
std::string GetConfigurationLabel() const
Short label/name to describe this reader.
void Print(std::ostream &os, bool filenameDetails) const
Print information about this image block to given stream.
DICOMFileReader & operator=(const DICOMFileReader &other)
Interface for DICOM readers that produce mitk::Images.
unsigned int GetNumberOfOutputs() const
Number of outputs, only meaningful after calling AnalyzeInputFiles()
virtual void SetAdditionalTagsOfInterest(const AdditionalTagsMapType &tagList)
Set a list of DICOMTagPaths that specifiy all DICOM-Tags that will be copied into the property of the...
const StringList & GetInputFiles() const
This input files.
void PrintConfiguration(std::ostream &os) const
Print configuration description to given stream, for human reader.
static itkEventMacro(BoundingShapeInteractionEvent, itk::AnyEvent) class MITKBOUNDINGSHAPE_EXPORT BoundingShapeInteractor Pointer New()
Basic interaction methods for mitk::GeometryData.