00001 /*========================================================================= 00002 00003 Program: vtkCNMRRLibrary 00004 Module: $RCSfile: vtkImageCircularShift.h,v $ 00005 00006 Copyright 2008 The Pennsylvania State University 00007 00008 Notice 00009 00010 The contents of this file are subject to The Pennsylvania State University 00011 Open Source License (the "License"); you may not use this file except in 00012 compliance with the License. You may obtain a copy of the License at H066 00013 Radiology, NMR Building, 500 University Drive, Hershey, PA, 00014 tel. (717) 531-6069 or via email at dcb210@psu.edu. 00015 00016 Software distributed under the License is distributed on an "AS IS" basis, 00017 WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 00018 for the specific language governing rights and limitations under the 00019 License. 00020 00021 The Original Code is listed under Exhibit A of the license. 00022 00023 The Initial Developer of the Original Code is Don Bigler. 00024 00025 Contributor(s): 00026 00027 =========================================================================*/ 00041 #ifndef __vtkImageCircularShift_h 00042 #define __vtkImageCircularShift_h 00043 00044 00045 #include "vtkImageDecomposeFilter.h" 00046 #include "vtkCNMRRImagingWin32Header.h" 00047 00048 class VTK_CNMRR_IMAGING_EXPORT vtkImageCircularShift : public vtkImageDecomposeFilter 00049 { 00050 public: 00051 static vtkImageCircularShift *New(); 00052 vtkTypeRevisionMacro(vtkImageCircularShift,vtkImageDecomposeFilter); 00053 00055 00056 vtkSetVector3Macro(ShiftAmount, int); 00057 vtkGetVector3Macro(ShiftAmount, int); 00059 00060 protected: 00061 vtkImageCircularShift(); 00062 ~vtkImageCircularShift() {}; 00063 00064 virtual int IterativeRequestUpdateExtent(vtkInformation* in, 00065 vtkInformation* out); 00066 00067 void ThreadedExecute(vtkImageData *inData, vtkImageData *outData, 00068 int outExt[6], int threadId); 00069 private: 00070 vtkImageCircularShift(const vtkImageCircularShift&); // Not implemented. 00071 void operator=(const vtkImageCircularShift&); // Not implemented. 00072 int ShiftAmount[3]; 00073 }; 00074 00075 #endif 00076 00077 00078 00079 00080 00081 00082 00083 00084 00085
1.4.7