Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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...