Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitkIOMimeTypes.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkIOMimeTypes_h
14 #define mitkIOMimeTypes_h
15 
16 #include <mitkCustomMimeType.h>
17 
18 #include <string>
19 
20 namespace mitk
21 {
43  {
44  public:
45 
57  {
58  public:
63  BaseDicomMimeType(const std::string &name);
64 
65  BaseDicomMimeType(const BaseDicomMimeType& other) = default;
66 
72  bool AppliesTo(const std::string& path) const override;
73 
78  BaseDicomMimeType* Clone() const override;
79  };
80 
87  {
88  public:
91 
96  DicomMimeType *Clone() const override;
97  };
98 
106  static std::vector<CustomMimeType *> Get();
107 
110  static std::string DEFAULT_BASE_NAME();
111 
114  static std::string CATEGORY_IMAGES();
115 
118  static std::string CATEGORY_SURFACES();
119 
120  // ------------------------------ VTK formats ----------------------------------
121 
125 
129 
133 
137 
141 
145 
149 
153 
157 
159  static std::string STEREOLITHOGRAPHY_NAME();
161  static std::string VTK_IMAGE_NAME();
163  static std::string VTK_IMAGE_LEGACY_NAME();
165  static std::string VTK_PARALLEL_IMAGE_NAME();
167  static std::string VTK_POLYDATA_NAME();
169  static std::string VTK_POLYDATA_LEGACY_NAME();
171  static std::string VTK_PARALLEL_POLYDATA_NAME();
173  static std::string WAVEFRONT_OBJ_NAME();
175  static std::string STANFORD_PLY_NAME();
176 
177  // ------------------------- Image formats (ITK based) --------------------------
178 
182 
186 
190 
194 
196  static std::string NRRD_MIMETYPE_NAME();
198  static std::string NIFTI_MIMETYPE_NAME();
200  static std::string RAW_MIMETYPE_NAME();
202  static std::string DICOM_MIMETYPE_NAME();
203 
204  // ------------------------------ MITK formats ----------------------------------
205 
209 
213 
215  static std::string POINTSET_MIMETYPE_NAME();
216 
217  private:
218  // purposely not implemented
219  IOMimeTypes();
220  IOMimeTypes(const IOMimeTypes &);
221  };
222 }
223 
224 #endif
#define MITKCORE_EXPORT
A custom mime-type that can be registered as a service object.
Base mime-type for all DICOM image formats.
BaseDicomMimeType * Clone() const override
Clone this mime-type.
BaseDicomMimeType(const BaseDicomMimeType &other)=default
bool AppliesTo(const std::string &path) const override
Check whether the given path points to a readable DICOM file.
BaseDicomMimeType(const std::string &name)
Construct with a specific mime-type name.
The default DICOM mime-type for standard (non-RT) DICOM images.
DicomMimeType * Clone() const override
Clone this mime-type.
DicomMimeType()
Construct the default DICOM mime-type.
Collection of predefined MITK mime-types and factory methods.
static std::string DEFAULT_BASE_NAME()
Get the default base name prefix for MITK mime-types ("application/vnd.mitk").
static std::string STEREOLITHOGRAPHY_NAME()
Get the mime-type name for STL files.
static CustomMimeType WAVEFRONT_OBJ_MIMETYPE()
Create a CustomMimeType for Wavefront OBJ surface files (.obj).
static std::string WAVEFRONT_OBJ_NAME()
Get the mime-type name for Wavefront OBJ.
static std::string VTK_PARALLEL_IMAGE_NAME()
Get the mime-type name for VTK parallel images.
static std::string CATEGORY_SURFACES()
Get the "Surfaces" category string.
static std::string POINTSET_MIMETYPE_NAME()
Get the mime-type name for point sets.
static std::string CATEGORY_IMAGES()
Get the "Images" category string.
static CustomMimeType RAW_MIMETYPE()
Create a CustomMimeType for raw image files (.raw).
static std::string VTK_PARALLEL_POLYDATA_NAME()
Get the mime-type name for VTK parallel polydata.
static CustomMimeType POINTSET_MIMETYPE()
Create a CustomMimeType for MITK point set files (.mps).
static CustomMimeType VTK_PARALLEL_IMAGE_MIMETYPE()
Create a CustomMimeType for VTK parallel image files (.pvti).
static CustomMimeType NRRD_MIMETYPE()
Create a CustomMimeType for NRRD image files (.nrrd, .nhdr).
static std::string VTK_POLYDATA_NAME()
Get the mime-type name for VTK XML polydata.
static CustomMimeType VTK_PARALLEL_POLYDATA_MIMETYPE()
Create a CustomMimeType for VTK parallel polydata files (.pvtp).
static std::string STANFORD_PLY_NAME()
Get the mime-type name for Stanford PLY.
static std::string RAW_MIMETYPE_NAME()
Get the mime-type name for raw images.
static CustomMimeType VTK_IMAGE_LEGACY_MIMETYPE()
Create a CustomMimeType for VTK legacy image files (.vtk).
static std::string DICOM_MIMETYPE_NAME()
Get the mime-type name for DICOM.
static std::string NRRD_MIMETYPE_NAME()
Get the mime-type name for NRRD.
static CustomMimeType GEOMETRY_DATA_MIMETYPE()
Create a CustomMimeType for MITK geometry data files (.mitkgeometry).
static CustomMimeType STEREOLITHOGRAPHY_MIMETYPE()
Create a CustomMimeType for STL surface files (.stl).
static std::string NIFTI_MIMETYPE_NAME()
Get the mime-type name for NIfTI.
static CustomMimeType VTK_IMAGE_MIMETYPE()
Create a CustomMimeType for VTK XML image files (.vti).
static CustomMimeType VTK_POLYDATA_MIMETYPE()
Create a CustomMimeType for VTK XML polydata files (.vtp).
static std::string VTK_IMAGE_LEGACY_NAME()
Get the mime-type name for VTK legacy images.
static CustomMimeType VTK_POLYDATA_LEGACY_MIMETYPE()
Create a CustomMimeType for VTK legacy polydata files (.vtk).
static std::vector< CustomMimeType * > Get()
Get all predefined MITK Core mime-types.
static std::string VTK_IMAGE_NAME()
Get the mime-type name for VTK XML images.
static CustomMimeType STANFORD_PLY_MIMETYPE()
Create a CustomMimeType for Stanford PLY surface files (.ply).
static DicomMimeType DICOM_MIMETYPE()
Create a DicomMimeType for standard DICOM image files.
static CustomMimeType NIFTI_MIMETYPE()
Create a CustomMimeType for NIfTI image files (.nii, .nii.gz, .hdr, etc.).
static std::string VTK_POLYDATA_LEGACY_NAME()
Get the mime-type name for VTK legacy polydata.
Find image slices visible on a given plane.