20 : m_HasGantryTiltCorrected(false), m_HasMultipleTimePoints(false), m_IsMultiFrameImage(false)
30 : m_HasGantryTiltCorrected(
false), m_HasMultipleTimePoints(
false), m_IsMultiFrameImage(
false)
35 void DicomSeriesReader::ImageBlockDescriptor::AddFile(
const std::string &filename)
37 m_Filenames.push_back(filename);
40 void DicomSeriesReader::ImageBlockDescriptor::AddFiles(
const StringContainer &files)
42 m_Filenames.insert(m_Filenames.end(), files.begin(), files.end());
55 gdcm::UIDs uidKnowledge;
56 uidKnowledge.SetFromUID(m_SOPClassUID.c_str());
57 return uidKnowledge.GetName();
68 gdcm::UIDs uidKnowledge;
69 uidKnowledge.SetFromUID(m_SOPClassUID.c_str());
71 gdcm::UIDs::TSName uid =
static_cast<gdcm::UIDs::TSName
>((gdcm::UIDs::TSType)uidKnowledge);
75 case gdcm::UIDs::CTImageStorage:
76 case gdcm::UIDs::MRImageStorage:
77 case gdcm::UIDs::PositronEmissionTomographyImageStorage:
78 case gdcm::UIDs::ComputedRadiographyImageStorage:
79 case gdcm::UIDs::DigitalXRayImageStorageForPresentation:
80 case gdcm::UIDs::DigitalXRayImageStorageForProcessing:
83 case gdcm::UIDs::NuclearMedicineImageStorage:
86 case gdcm::UIDs::SecondaryCaptureImageStorage:
108 if (m_PixelSpacing.empty())
110 if (m_ImagerPixelSpacing.empty())
121 if (m_ImagerPixelSpacing.empty())
125 else if (m_PixelSpacing != m_ImagerPixelSpacing)
151 void DicomSeriesReader::ImageBlockDescriptor::SetPixelSpacingInformation(
const std::string &pixelSpacing,
152 const std::string &imagerPixelSpacing)
154 m_PixelSpacing = pixelSpacing;
155 m_ImagerPixelSpacing = imagerPixelSpacing;
158 void DicomSeriesReader::ImageBlockDescriptor::GetDesiredMITKImagePixelSpacing(
ScalarType &spacingX,
168 spacingX = spacingY = 1.0;
174 void DicomSeriesReader::ImageBlockDescriptor::SetImageBlockUID(
const std::string &uid) { m_ImageBlockUID = uid; }
175 void DicomSeriesReader::ImageBlockDescriptor::SetSeriesInstanceUID(
const std::string &uid)
177 m_SeriesInstanceUID = uid;
180 void DicomSeriesReader::ImageBlockDescriptor::SetModality(
const std::string &modality) { m_Modality = modality; }
181 void DicomSeriesReader::ImageBlockDescriptor::SetNumberOfFrames(
const std::string &numberOfFrames)
183 m_IsMultiFrameImage = !numberOfFrames.empty();
186 void DicomSeriesReader::ImageBlockDescriptor::SetSOPClassUID(
const std::string &sopClassUID)
188 m_SOPClassUID = sopClassUID;
191 void DicomSeriesReader::ImageBlockDescriptor::SetHasGantryTiltCorrected(
bool on) { m_HasGantryTiltCorrected = on; }
192 void DicomSeriesReader::ImageBlockDescriptor::SetHasMultipleTimePoints(
bool on) { m_HasMultipleTimePoints = on; }
PixelSpacingInterpretation
How the mitk::Image spacing should be interpreted.
distances are mm within a patient
static bool DICOMStringToSpacing(const std::string &s, ScalarType &spacingX, ScalarType &spacingY)
Safely convert a string into pixel spacing x and y.
PixelSpacingInterpretation GetPixelSpacingType() const
How the mitk::Image spacing can meaningfully be interpreted.
bool PixelSpacingRelatesToPatient() const
Whether or not mitk::Image spacing relates to the patient.
distances are mm at detector surface
std::vector< std::string > StringContainer
Lists of filenames.
DataCollection - Class to facilitate loading/accessing structured data.
std::string GetSOPClassUIDAsString() const
SOP Class UID as readable string (Computed Tomography Image Storage, Secondary Capture Image Storage...
StringContainer GetFilenames() const
List of files in this group.
loader code is implemented but not accompanied by tests
std::string GetSeriesInstanceUID() const
The Series Instance UID.
bool PixelSpacingIsUnknown() const
Whether or not mitk::Image spacing is of unknown origin.
ReaderImplementationLevel GetReaderImplementationLevel() const
Confidence of the reader that this block can be read successfully.
bool HasMultipleTimePoints() const
3D+t or not
std::string GetModality() const
Series Modality (CT, MR, etc.)
loader code and tests are established
std::string GetSOPClassUID() const
SOP Class UID as DICOM UID.
std::string GetImageBlockUID() const
A unique ID describing this bloc (enhanced Series Instance UID).
bool PixelSpacingRelatesToDetector() const
Whether or not mitk::Image spacing relates to the detector surface.
bool IsMultiFrameImage() const
Multi-frame image(s) or not.
ReaderImplementationLevel
Describes how well the reader is tested for a certain file type.
bool HasGantryTiltCorrected() const
Whether or not the block contains a gantry tilt which will be "corrected" during loading.