Slicer 5.6
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
itkMRMLIDImageIO.h
Go to the documentation of this file.
1/*=auto=========================================================================
2
3 Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
4
5 See COPYRIGHT.txt
6 or http://www.slicer.org/copyright/copyright.txt for details.
7
8=========================================================================auto=*/
9
10#ifndef itkMRMLIDImageIO_h
11#define itkMRMLIDImageIO_h
12
13#ifdef _MSC_VER
14#pragma warning ( disable : 4786 )
15#endif
16
17#include <vtkVersion.h>
18
19#include "itkMRMLIDIOExport.h"
20
21#include "itkImageIOBase.h"
22
26class vtkImageData;
27class vtkMRMLNode;
28
29namespace itk
30{
54class MRMLIDImageIO_EXPORT MRMLIDImageIO : public ImageIOBase
55{
56public:
59 typedef ImageIOBase Superclass;
60 typedef SmartPointer<Self> Pointer;
61
64
67
70 bool CanReadFile(const char*) override;
71
72 virtual bool CanUseOwnBuffer();
73 virtual void ReadUsingOwnBuffer();
74 virtual void * GetOwnBuffer();
75
77 void ReadImageInformation() override;
78
80 void Read(void* buffer) override;
81
82 /*-------- This part of the interfaces deals with writing data. ----- */
83
86 bool CanWriteFile(const char*) override;
87
90 void WriteImageInformation() override;
91
94 void Write(const void* buffer) override;
95
96protected:
98 ~MRMLIDImageIO() override;
99 void PrintSelf(std::ostream& os, Indent indent) const override;
100
102 virtual void WriteImageInformation(vtkMRMLVolumeNode *, vtkImageData*,
103 int *scalarType, int *numberOfScalarComponents);
104
107 void SetDWDictionaryValues(MetaDataDictionary &dict,
109
112 void SetDTDictionaryValues(MetaDataDictionary &dict,
114
118 MetaDataDictionary &dict);
119
123 MetaDataDictionary &dict);
124
125 void RequestModified(vtkMRMLNode* modifiedObject);
126
127private:
128 MRMLIDImageIO(const Self&) = delete;
129 void operator=(const Self&) = delete;
130
131 bool IsAVolumeNode(const char*);
132 vtkMRMLVolumeNode* FileNameToVolumeNodePtr(const char*);
133
134 std::string m_Scheme;
135 std::string m_Authority;
136 std::string m_SceneID;
137 std::string m_NodeID;
138
139};
140
141
142}
143#endif
ImageIO object for reading and writing images from a MRML scene.
void ReadImageInformation() override
void SetDTDictionaryValues(MetaDataDictionary &dict, vtkMRMLDiffusionImageVolumeNode *di)
void WriteImageInformation() override
virtual void WriteImageInformation(vtkMRMLVolumeNode *, vtkImageData *, int *scalarType, int *numberOfScalarComponents)
void SetDTNodeValues(vtkMRMLDiffusionImageVolumeNode *di, MetaDataDictionary &dict)
void SetDWNodeValues(vtkMRMLDiffusionWeightedVolumeNode *dw, MetaDataDictionary &dict)
SmartPointer< Self > Pointer
~MRMLIDImageIO() override
void PrintSelf(std::ostream &os, Indent indent) const override
bool CanReadFile(const char *) override
itkTypeMacro(MRMLIDImageIO, ImageIOBase)
virtual bool CanUseOwnBuffer()
virtual void ReadUsingOwnBuffer()
virtual void * GetOwnBuffer()
void SetDWDictionaryValues(MetaDataDictionary &dict, vtkMRMLDiffusionWeightedVolumeNode *dw)
void RequestModified(vtkMRMLNode *modifiedObject)
bool CanWriteFile(const char *) override
void Read(void *buffer) override
void Write(const void *buffer) override
MRML node for representing diffusion weighted MRI volume.
MRML node for representing diffusion weighted MRI volume.
Abstract Superclass for all specific types of MRML nodes.
MRML node for representing a volume (image stack).
#define MRMLIDImageIO_EXPORT
Simplified inverse ITK transforms.