Slicer 5.9
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
73 void ReadImageInformation() override;
74
76 void Read(void* buffer) override;
77
78 /*-------- This part of the interfaces deals with writing data. ----- */
79
82 bool CanWriteFile(const char*) override;
83
86 void WriteImageInformation() override;
87
90 void Write(const void* buffer) override;
91
92protected:
94 ~MRMLIDImageIO() override;
95 void PrintSelf(std::ostream& os, Indent indent) const override;
96
98 virtual void WriteImageInformation(vtkMRMLVolumeNode*, vtkImageData*, int* scalarType, int* numberOfScalarComponents);
99
103
106 void SetDTDictionaryValues(MetaDataDictionary& dict, vtkMRMLDiffusionImageVolumeNode* di);
107
110 void SetDWNodeValues(vtkMRMLDiffusionWeightedVolumeNode* dw, MetaDataDictionary& dict);
111
114 void SetDTNodeValues(vtkMRMLDiffusionImageVolumeNode* di, MetaDataDictionary& dict);
115
116 void RequestModified(vtkMRMLNode* modifiedObject);
117
118private:
119 MRMLIDImageIO(const Self&) = delete;
120 void operator=(const Self&) = delete;
121
122 bool IsAVolumeNode(const char*);
123 vtkMRMLVolumeNode* FileNameToVolumeNodePtr(const char*);
124
125 std::string m_Scheme;
126 std::string m_Authority;
127 std::string m_SceneID;
128 std::string m_NodeID;
129};
130
131} // namespace itk
132#endif
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)
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.