Medical Imaging Interaction Toolkit  2016.11.0
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,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef MITKIOMIMETYPES_H
18 #define MITKIOMIMETYPES_H
19 
20 #include "mitkCustomMimeType.h"
21 
22 #include <string>
23 
24 namespace mitk
25 {
31  {
32  public:
34  {
35  public:
36  DicomMimeType();
37  virtual bool AppliesTo(const std::string &path) const override;
38  virtual DicomMimeType *Clone() const override;
39  };
40 
41  static std::vector<CustomMimeType *> Get();
42 
43  static std::string DEFAULT_BASE_NAME(); // application/vnd.mitk
44 
45  static std::string CATEGORY_IMAGES(); // Images
46  static std::string CATEGORY_SURFACES(); // Surfaces
47 
48  // ------------------------------ VTK formats ----------------------------------
49 
50  static CustomMimeType VTK_IMAGE_MIMETYPE(); // (mitk::Image) vti
51  static CustomMimeType VTK_IMAGE_LEGACY_MIMETYPE(); // (mitk::Image) vtk
52  static CustomMimeType VTK_PARALLEL_IMAGE_MIMETYPE(); // (mitk::Image) pvti
53  static CustomMimeType VTK_POLYDATA_MIMETYPE(); // (mitk::Surface) vtp, vtk
54  static CustomMimeType VTK_POLYDATA_LEGACY_MIMETYPE(); // (mitk::Surface) vtk
55  static CustomMimeType VTK_PARALLEL_POLYDATA_MIMETYPE(); // (mitk::Surface) pvtp
56  static CustomMimeType STEREOLITHOGRAPHY_MIMETYPE(); // (mitk::Surface) stl
57  static CustomMimeType WAVEFRONT_OBJ_MIMETYPE(); // (mitk::Surface) obj
58  static CustomMimeType STANFORD_PLY_MIMETYPE(); // (mitk::Surface) ply
59 
60  static std::string STEREOLITHOGRAPHY_NAME(); // DEFAULT_BASE_NAME.stl
61  static std::string VTK_IMAGE_NAME(); // DEFAULT_BASE_NAME.vtk.image
62  static std::string VTK_IMAGE_LEGACY_NAME(); // DEFAULT_BASE_NAME.vtk.image.legacy
63  static std::string VTK_PARALLEL_IMAGE_NAME(); // DEFAULT_BASE_NAME.vtk.parallel.image
64  static std::string VTK_POLYDATA_NAME(); // DEFAULT_BASE_NAME.vtk.polydata
65  static std::string VTK_POLYDATA_LEGACY_NAME(); // DEFAULT_BASE_NAME.vtk.polydata.legacy
66  static std::string VTK_PARALLEL_POLYDATA_NAME(); // DEFAULT_BASE_NAME.vtk.parallel.polydata
67  static std::string WAVEFRONT_OBJ_NAME(); // DEFAULT_BASE_NAME.obj
68  static std::string STANFORD_PLY_NAME(); // DEFAULT_BASE_NAME.ply
69 
70  // ------------------------- Image formats (ITK based) --------------------------
71 
72  static CustomMimeType NRRD_MIMETYPE(); // nrrd, nhdr
73  static CustomMimeType NIFTI_MIMETYPE();
74  static CustomMimeType RAW_MIMETYPE(); // raw
75  static DicomMimeType DICOM_MIMETYPE();
76 
77  static std::string NRRD_MIMETYPE_NAME(); // DEFAULT_BASE_NAME.nrrd
78  static std::string NIFTI_MIMETYPE_NAME();
79  static std::string RAW_MIMETYPE_NAME(); // DEFAULT_BASE_NAME.raw
80  static std::string DICOM_MIMETYPE_NAME();
81 
82  // ------------------------------ MITK formats ----------------------------------
83 
84  static CustomMimeType POINTSET_MIMETYPE(); // mps
85  static CustomMimeType GEOMETRY_DATA_MIMETYPE(); // .mitkgeometry
86 
87  static std::string POINTSET_MIMETYPE_NAME(); // DEFAULT_BASE_NAME.pointset
88 
89  private:
90  // purposely not implemented
91  IOMimeTypes();
92  IOMimeTypes(const IOMimeTypes &);
93  };
94 }
95 
96 #endif // MITKIOMIMETYPES_H
The IOMimeTypes class.
Pointer Clone() const
#define MITKCORE_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
The CustomMimeType class represents a custom mime-type which may be registered as a service object...