18 #include "itkGDCMImageIO.h" 19 #include "itkMetaDataObject.h" 21 #include <itksys/SystemTools.hxx> 22 #include <itksys/Directory.hxx> 44 bool pathIsDirectory = itksys::SystemTools::FileIsDirectory(path);
46 std::string filepath = path;
50 itksys::Directory input;
51 input.Load(path.c_str());
53 std::vector<std::string> files;
54 for (
unsigned long idx = 0; idx<input.GetNumberOfFiles(); idx++)
56 if (!itksys::SystemTools::FileIsDirectory(input.GetFile(idx)))
58 std::string fullpath = path +
"/" + std::string(input.GetFile(idx));
59 files.push_back(fullpath.c_str());
62 filepath = files.front();
66 itk::GDCMImageIO::Pointer gdcmIO = itk::GDCMImageIO::New();
67 gdcmIO->SetFileName(filepath);
69 gdcmIO->ReadImageInformation();
71 catch (
const itk::ExceptionObject & ) {
77 itk::MetaDataDictionary& dict = gdcmIO->GetMetaDataDictionary();
78 itk::ExposeMetaData<std::string>(dict,
"0008|0060", modality);
79 MITK_INFO <<
"DICOM Modality is " << modality;
80 if (modality ==
"RTSTRUCT" || modality ==
"RTDOSE" || modality ==
"RTPLAN") {
84 return gdcmIO->CanReadFile(filepath.c_str());
91 std::vector<CustomMimeType *> mimeTypes;
218 static std::string name =
"application/vnd.mitk";
224 static std::string cat =
"Images";
230 static std::string cat =
"Surfaces";
static std::vector< CustomMimeType * > Get()
static std::string WAVEFRONT_OBJ_NAME()
static CustomMimeType NRRD_MIMETYPE()
static std::string VTK_PARALLEL_POLYDATA_NAME()
static CustomMimeType VTK_POLYDATA_LEGACY_MIMETYPE()
static CustomMimeType VTK_IMAGE_LEGACY_MIMETYPE()
DataCollection - Class to facilitate loading/accessing structured data.
static std::string VTK_IMAGE_LEGACY_NAME()
static std::string VTK_POLYDATA_NAME()
bool AppliesTo(const std::string &path) const override
Checks if the MimeType can handle file at the given location.
static CustomMimeType VTK_PARALLEL_POLYDATA_MIMETYPE()
static std::string VTK_IMAGE_NAME()
static CustomMimeType VTK_IMAGE_MIMETYPE()
static std::string STEREOLITHOGRAPHY_NAME()
DicomMimeType * Clone() const override
void SetComment(const std::string &comment)
static CustomMimeType VTK_POLYDATA_MIMETYPE()
static CustomMimeType POINTSET_MIMETYPE()
The CustomMimeType class represents a custom mime-type which may be registered as a service object...
static std::string DICOM_MIMETYPE_NAME()
static std::string CATEGORY_IMAGES()
static std::string NIFTI_MIMETYPE_NAME()
static CustomMimeType STEREOLITHOGRAPHY_MIMETYPE()
static std::string DEFAULT_BASE_NAME()
static std::string RAW_MIMETYPE_NAME()
static CustomMimeType RAW_MIMETYPE()
static DicomMimeType DICOM_MIMETYPE()
static CustomMimeType WAVEFRONT_OBJ_MIMETYPE()
static CustomMimeType NIFTI_MIMETYPE()
static std::string VTK_PARALLEL_IMAGE_NAME()
void AddExtension(const std::string &extension)
void SetCategory(const std::string &category)
static std::string POINTSET_MIMETYPE_NAME()
static std::string VTK_POLYDATA_LEGACY_NAME()
static std::string STANFORD_PLY_NAME()
static CustomMimeType STANFORD_PLY_MIMETYPE()
static CustomMimeType VTK_PARALLEL_IMAGE_MIMETYPE()
static std::string NRRD_MIMETYPE_NAME()
static CustomMimeType GEOMETRY_DATA_MIMETYPE()
static std::string CATEGORY_SURFACES()