VTK  9.5.20250629
vtkMNITagPointReader.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright (c) 2006 Atamai, Inc.
3// SPDX-License-Identifier: BSD-3-Clause
24#ifndef vtkMNITagPointReader_h
25#define vtkMNITagPointReader_h
26
27#include "vtkIOMINCModule.h" // For export macro
29
30VTK_ABI_NAMESPACE_BEGIN
31class vtkPolyData;
32class vtkPoints;
33class vtkStringArray;
34class vtkDoubleArray;
35class vtkIntArray;
36
37class VTKIOMINC_EXPORT vtkMNITagPointReader : public vtkPolyDataAlgorithm
38{
39public:
41
43 void PrintSelf(ostream& os, vtkIndent indent) override;
44
46
52
56 virtual const char* GetFileExtensions() { return ".tag"; }
57
61 virtual const char* GetDescriptiveName() { return "MNI tags"; }
62
66 virtual int CanReadFile(VTK_FILEPATH const char* name);
67
74 virtual int GetNumberOfVolumes();
75
81 virtual vtkPoints* GetPoints(int port);
82 virtual vtkPoints* GetPoints() { return this->GetPoints(0); }
83
90
97
104
111
115 virtual const char* GetComments();
116
117protected:
120
121 char* FileName;
123
125 char* Comments;
126
127 int ReadLine(istream& infile, std::string& linetext, std::string::iterator& pos);
128 int ReadLineAfterComments(istream& infile, std::string& linetext, std::string::iterator& pos);
129 int SkipWhitespace(istream& infile, std::string& linetext, std::string::iterator& pos, int nl);
131 istream& infile, std::string& linetext, std::string::iterator& pos, std::string& identifier);
133 istream& infile, std::string& linetext, std::string::iterator& pos, std::string& data);
135 istream& infile, std::string& linetext, std::string::iterator& pos, int* values, int count);
137 istream& infile, std::string& linetext, std::string::iterator& pos, double* values, int count);
138
139 virtual int ReadFile(vtkPolyData* output1, vtkPolyData* output2);
140
142 vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo) override;
143
144private:
146 void operator=(const vtkMNITagPointReader&) = delete;
147};
148
149VTK_ABI_NAMESPACE_END
150#endif
dynamic, self-adjusting array of double
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
dynamic, self-adjusting array of int
A reader for MNI tag files.
virtual int CanReadFile(const char *name)
Test whether the specified file can be read.
~vtkMNITagPointReader() override
int ParseLeftHandSide(istream &infile, std::string &linetext, std::string::iterator &pos, std::string &identifier)
int SkipWhitespace(istream &infile, std::string &linetext, std::string::iterator &pos, int nl)
virtual vtkPoints * GetPoints()
int ParseFloatValues(istream &infile, std::string &linetext, std::string::iterator &pos, double *values, int count)
int ParseIntValues(istream &infile, std::string &linetext, std::string::iterator &pos, int *values, int count)
int ParseStringValue(istream &infile, std::string &linetext, std::string::iterator &pos, std::string &data)
virtual const char * GetComments()
Get any comments that are included in the file.
virtual int GetNumberOfVolumes()
Get the number of volumes specified by the file, which will be equal to one or two.
virtual const char * GetDescriptiveName()
Get the name of this file format.
virtual const char * GetFileExtensions()
Get the extension for this file format.
vtkGetFilePathMacro(FileName)
Set the file name.
static vtkMNITagPointReader * New()
int RequestData(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo) override
This is called by the superclass.
vtkSetFilePathMacro(FileName)
Set the file name.
int ReadLine(istream &infile, std::string &linetext, std::string::iterator &pos)
virtual vtkDoubleArray * GetWeights()
Get the weights.
virtual int ReadFile(vtkPolyData *output1, vtkPolyData *output2)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual vtkIntArray * GetPatientIds()
Get the patient ids.
virtual vtkStringArray * GetLabelText()
Get the labels.
virtual vtkIntArray * GetStructureIds()
Get the structure ids.
virtual vtkPoints * GetPoints(int port)
Get the points.
int ReadLineAfterComments(istream &infile, std::string &linetext, std::string::iterator &pos)
represent and manipulate 3D points
Definition vtkPoints.h:139
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
a vtkAbstractArray subclass for strings
#define VTK_FILEPATH