dox/Imaging/vtkImageEstimatePhaseLinearRamps.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   vtkCNMRRLibrary
00004   Module:    $RCSfile: vtkImageEstimatePhaseLinearRamps.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 =========================================================================*/
00056 #ifndef __vtkImageEstimatePhaseLinearRamps_h
00057 #define __vtkImageEstimatePhaseLinearRamps_h
00058 
00059 
00060 #include "vtkThreadedImageAlgorithm.h"
00061 #include "vtkCNMRRImagingWin32Header.h"
00062 
00063 class VTK_CNMRR_IMAGING_EXPORT vtkImageEstimatePhaseLinearRamps : public vtkThreadedImageAlgorithm
00064 {
00065    public:
00066       static vtkImageEstimatePhaseLinearRamps *New();
00067       vtkTypeRevisionMacro(vtkImageEstimatePhaseLinearRamps,vtkThreadedImageAlgorithm);
00068       void PrintSelf(ostream& os, vtkIndent indent);
00069    
00071       void SetPhaseInput(vtkDataObject *in){ this->SetInput(0,in); }
00072    
00074          void SetMaskInput(vtkDataObject *in){ this->SetInput(1,in); }
00075       
00077 
00081       vtkSetMacro(NumberOfSlicesPerVolume,int);
00082       vtkGetMacro(NumberOfSlicesPerVolume,int);
00084       
00086 
00088       vtkSetMacro(Estimate4D,int);
00089       vtkGetMacro(Estimate4D,int);
00090       vtkBooleanMacro(Estimate4D, int);
00092       
00094 
00095       vtkSetMacro(DiagnosticMessages,int);
00096       vtkGetMacro(DiagnosticMessages,int);
00097       vtkBooleanMacro(DiagnosticMessages, int);
00099       
00101 
00103       virtual int SplitExtent(int splitExt[6], int startExt[6], 
00104                           int num, int total);
00106    
00107    protected:
00108       vtkImageEstimatePhaseLinearRamps();
00109       ~vtkImageEstimatePhaseLinearRamps(){};
00110          
00111       int NumberOfSlicesPerVolume;
00112       int Estimate4D;
00113       int DiagnosticMessages;
00114    
00115       virtual int RequestUpdateExtent(vtkInformation*,
00116                      vtkInformationVector**,
00117                      vtkInformationVector*);
00118       virtual int RequestInformation (vtkInformation*,
00119                      vtkInformationVector**,
00120                      vtkInformationVector*);
00121       virtual void ThreadedRequestData(vtkInformation *request, 
00122                                    vtkInformationVector **inputVector, 
00123                                    vtkInformationVector *outputVector,
00124                                    vtkImageData ***inData, 
00125                                    vtkImageData **outData,
00126                                    int extent[6], int threadId);
00127       virtual int FillInputPortInformation(int port, vtkInformation* info);
00128    
00129    private:
00130       vtkImageEstimatePhaseLinearRamps(const vtkImageEstimatePhaseLinearRamps&);  // Not implemented.
00131       void operator=(const vtkImageEstimatePhaseLinearRamps&);  // Not implemented.
00132 };
00133 
00134 #endif

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