1 /*=========================================================================
3 Program: Visualization Toolkit
4 Module: $RCSfile: vtkImagePermute.h,v $
7 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
9 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
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.
15 =========================================================================*/
16 // .NAME vtkImagePermute - Permutes axes of input.
17 // .SECTION Description
18 // vtkImagePermute reorders the axes of the input. Filtered axes specify
19 // the input axes which become X, Y, Z. The input has to have the
20 // same scalar type of the output. The filter does copy the
21 // data when it executes. This filter is actually a very thin wrapper
22 // around vtkImageReslice.
24 #ifndef __vtkImagePermute_h
25 #define __vtkImagePermute_h
28 #include "vtkImageReslice.h"
30 class VTK_IMAGING_EXPORT vtkImagePermute : public vtkImageReslice
33 static vtkImagePermute *New();
34 vtkTypeRevisionMacro(vtkImagePermute,vtkImageReslice);
36 void PrintSelf(ostream& os, vtkIndent indent);
39 // The filtered axes are the input axes that get relabeled to X,Y,Z.
40 void SetFilteredAxes(int x, int y, int z);
41 void SetFilteredAxes(const int xyz[3]) {
42 this->SetFilteredAxes(xyz[0], xyz[1], xyz[2]); };
43 vtkGetVector3Macro(FilteredAxes, int);
47 ~vtkImagePermute() {};
52 vtkImagePermute(const vtkImagePermute&); // Not implemented.
53 void operator=(const vtkImagePermute&); // Not implemented.