VTK  9.2.6
vtkImageResample.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkImageResample.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
37#ifndef vtkImageResample_h
38#define vtkImageResample_h
39
40#include "vtkImageReslice.h"
41#include "vtkImagingCoreModule.h" // For export macro
42
43class VTKIMAGINGCORE_EXPORT vtkImageResample : public vtkImageReslice
44{
45public:
48 void PrintSelf(ostream& os, vtkIndent indent) override;
49
51
55 void SetOutputSpacing(double sx, double sy, double sz) override;
56 void SetOutputSpacing(const double spacing[3]) override
57 {
58 this->SetOutputSpacing(spacing[0], spacing[1], spacing[2]);
59 }
60 void SetAxisOutputSpacing(int axis, double spacing);
62
64
68 void SetMagnificationFactors(double fx, double fy, double fz);
69 void SetMagnificationFactors(const double f[3])
70 {
71 this->SetMagnificationFactors(f[0], f[1], f[2]);
72 }
73 vtkGetVector3Macro(MagnificationFactors, double);
74 void SetAxisMagnificationFactor(int axis, double factor);
76
81 double GetAxisMagnificationFactor(int axis, vtkInformation* inInfo = nullptr);
82
84
90 vtkSetMacro(Dimensionality, int);
91 vtkGetMacro(Dimensionality, int);
93
94protected:
96 ~vtkImageResample() override = default;
97
98 double MagnificationFactors[3];
100
102
103private:
104 vtkImageResample(const vtkImageResample&) = delete;
105 void operator=(const vtkImageResample&) = delete;
106};
107
108#endif
Resamples an image to be larger or smaller.
void SetAxisMagnificationFactor(int axis, double factor)
Set/Get Magnification factors.
void SetMagnificationFactors(double fx, double fy, double fz)
Set/Get Magnification factors.
void SetMagnificationFactors(const double f[3])
Set/Get Magnification factors.
~vtkImageResample() override=default
void SetOutputSpacing(const double spacing[3]) override
Set desired spacing.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
double GetAxisMagnificationFactor(int axis, vtkInformation *inInfo=nullptr)
Get the computed magnification factor for a specific axis.
static vtkImageResample * New()
void SetAxisOutputSpacing(int axis, double spacing)
Set desired spacing.
void SetOutputSpacing(double sx, double sy, double sz) override
Set desired spacing.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
Reslices a volume along a new set of axes.
virtual void SetOutputSpacing(double x, double y, double z)
Set the voxel spacing for the output data.
a simple class to control print indentation
Definition vtkIndent.h:49
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.