VTK
vtkPNrrdReader.h
Go to the documentation of this file.
1// -*- c++ -*-
2/*=========================================================================
3
4 Program: Visualization Toolkit
5 Module: vtkPNrrdReader.h
6
7 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
8 All rights reserved.
9 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
10
11 This software is distributed WITHOUT ANY WARRANTY; without even
12 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13 PURPOSE. See the above copyright notice for more information.
14
15=========================================================================*/
16/*----------------------------------------------------------------------------
17 Copyright (c) Sandia Corporation
18 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
19----------------------------------------------------------------------------*/
20
43#ifndef vtkPNrrdReader_h
44#define vtkPNrrdReader_h
45
46#include "vtkIOMPIImageModule.h" // For export macro
47#include "vtkNrrdReader.h"
48
49class vtkCharArray;
51class vtkMPIOpaqueFileHandle;
52
53class VTKIOMPIIMAGE_EXPORT vtkPNrrdReader : public vtkNrrdReader
54{
55public:
58 virtual void PrintSelf(ostream &os, vtkIndent indent);
59
61
65 vtkGetObjectMacro(Controller, vtkMultiProcessController);
68
69protected:
72
73 virtual int ReadHeader();
74 virtual int ReadHeader(vtkCharArray *headerBuffer);
75
80
86 virtual void PartitionController(const int extent[6]);
87
92 virtual unsigned long GetHeaderSize(vtkMPIOpaqueFileHandle &file);
93
100 virtual void SetupFileView(vtkMPIOpaqueFileHandle &file, const int extent[6]);
101
108 virtual void ReadSlice(int slice, const int extent[6], void *buffer);
109
115
117
124
126 vtkInformation *outInfo);
127
129
130private:
131 vtkPNrrdReader(const vtkPNrrdReader &) VTK_DELETE_FUNCTION;
132 void operator=(const vtkPNrrdReader &) VTK_DELETE_FUNCTION;
133};
134
135#endif //vtkPNrrdReader_h
dynamic, self-adjusting array of char
Definition: vtkCharArray.h:39
general representation of visualization data
Definition: vtkDataObject.h:65
topologically and geometrically regular array of data
Definition: vtkImageData.h:46
a simple class to control print indentation
Definition: vtkIndent.h:40
Store vtkAlgorithm input/output information.
Multiprocessing communication superclass.
Read nrrd files file system.
Definition: vtkNrrdReader.h:51
Read nrrd files efficiently from parallel file systems (and reasonably well elsewhere).
virtual unsigned long GetHeaderSize(vtkMPIOpaqueFileHandle &file)
Get the header size of the given open file.
vtkMultiProcessController * Controller
virtual void ReadSlice(int slice, const int extent[6], void *buffer)
Given a slice of the data, open the appropriate file, read the data into given buffer,...
virtual void PartitionController(const int extent[6])
Break up the controller based on the files each process reads.
virtual int ReadHeader(vtkCharArray *headerBuffer)
virtual void SetupFileView(vtkMPIOpaqueFileHandle &file, const int extent[6])
Set up a "view" on the open file that will allow you to read the 2D or 3D subarray from the file in o...
virtual void TransformData(vtkImageData *data)
Transform the data from the order read from a file to the order to place in the output data (as defin...
virtual int ReadHeader()
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
int GetDataScalarTypeSize()
Returns the size, in bytes of the scalar data type (GetDataScalarType).
static vtkPNrrdReader * New()
void SetGroupedController(vtkMultiProcessController *)
A group of processes that are reading the same file (as determined by PartitionController.
virtual void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation *outInfo)
This is a convenience method that is implemented in many subclasses instead of RequestData.
vtkMultiProcessController * GroupedController
virtual void SetController(vtkMultiProcessController *)
@ extent
Definition: vtkX3D.h:345
@ data
Definition: vtkX3D.h:315