dox/Imaging/vtkImageDPT.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   vtkCNMRRLibrary
00004   Module:    $RCSfile: vtkImageDPT.h,v $
00005 
00006   Copyright  2006  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 =========================================================================*/
00058 #ifndef __vtkImageDPT_h
00059 #define __vtkImageDPT_h
00060 
00061 #include "vtkImageMultipleInputFilter.h"
00062 #include "vtkImageMRIFourierFilter.h"
00063 #include "vtkCNMRRImagingWin32Header.h"
00064 
00065 class VTK_CNMRR_IMAGING_EXPORT vtkImageDPT : public vtkImageMultipleInputFilter
00066 {
00067    public:
00068       static vtkImageDPT *New();
00069       vtkTypeRevisionMacro(vtkImageDPT,vtkImageMultipleInputFilter);
00070       void PrintSelf(ostream& os, vtkIndent indent);
00071    
00073       static int isPowerOf2(int size){return size > 0 && (size & (size - 1)) == 0;};
00074       
00076       static int findPowerOf2(int size);
00077       
00079 
00082       void SetDimensionality(int dim);
00083       vtkGetMacro(Dimensionality,int);
00085             
00089       void DPT(vtkImageComplexNumber *eta0, vtkImageComplexNumber *out, int m);
00090 
00091    protected:
00092 
00093       vtkImageDPT();
00094       ~vtkImageDPT() {};
00095       
00096       int Dimensionality;
00097 
00098       void ExecuteInformation(vtkImageData **inputs, vtkImageData *output);
00099       //void ComputeInputUpdateExtent(int inExt[6], int outExt[6], int whichInput);
00100       void ExecuteInformation(){this->vtkImageMultipleInputFilter::ExecuteInformation();};
00101       
00102       void ThreadedExecute(vtkImageData **inDatas, vtkImageData *outData,
00103                      int extent[6], int id);
00104       
00105       void InitOutput(int outExt[6], vtkImageData *outData);
00106          
00107    private:
00108       vtkImageDPT(const vtkImageDPT&);  // Not implemented.
00109       void operator=(const vtkImageDPT&);  // Not implemented.
00110 };
00111 
00112 #endif

Generated on Tue May 12 14:53:03 2009 for vtkCNMRRLibrary by  doxygen 1.4.7