dox/Imaging/vtkImageFindPhaseLabels.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   vtkCNMRRLibrary
00004   Module:    $RCSfile: vtkImageFindPhaseLabels.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 =========================================================================*/
00051 #ifndef __vtkImageFindPhaseLabels_h
00052 #define __vtkImageFindPhaseLabels_h
00053 
00054 
00055 #include "vtkThreadedImageAlgorithm.h"
00056 #include "vtkCNMRRImagingWin32Header.h"
00057 
00058 // Operation options.
00059 #define VTK_FIND_LABELS_HYBRID2D 0
00060 #define VTK_FIND_LABELS_2D       1
00061 #define VTK_FIND_LABELS_3D       2
00062 
00063 class VTK_CNMRR_IMAGING_EXPORT vtkImageFindPhaseLabels : public vtkThreadedImageAlgorithm
00064 {
00065    public:
00066       static vtkImageFindPhaseLabels *New();
00067       vtkTypeRevisionMacro(vtkImageFindPhaseLabels,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 
00078       vtkSetMacro(NumPhaseSplit,int);
00079       vtkGetMacro(NumPhaseSplit,int);
00081       
00083 
00087       vtkSetMacro(NumberOfSlicesPerVolume,int);
00088       vtkGetMacro(NumberOfSlicesPerVolume,int);
00090       
00092 
00093       vtkSetMacro(LabelOperation,int);
00094       vtkGetMacro(LabelOperation,int);
00095       void SetLabelOperationToHybrid2D() {this->SetLabelOperation(VTK_FIND_LABELS_HYBRID2D);};
00096       void SetLabelOperationTo2D() {this->SetLabelOperation(VTK_FIND_LABELS_2D);};
00097       void SetLabelOperationTo3D() {this->SetLabelOperation(VTK_FIND_LABELS_3D);};
00099       
00101 
00102       vtkSetMacro(DiagnosticMessages,int);
00103       vtkGetMacro(DiagnosticMessages,int);
00104       vtkBooleanMacro(DiagnosticMessages, int);
00106       
00108 
00110       virtual int SplitExtent(int splitExt[6], int startExt[6], 
00111                           int num, int total);
00113    
00114    protected:
00115       vtkImageFindPhaseLabels();
00116       ~vtkImageFindPhaseLabels(){};
00117          
00118       int NumPhaseSplit;
00119          
00120       int NumberOfSlicesPerVolume;
00121          
00122       int LabelOperation;
00123       
00124       int DiagnosticMessages;
00125    
00126       virtual int RequestUpdateExtent(vtkInformation*,
00127                      vtkInformationVector**,
00128                      vtkInformationVector*);
00129       virtual int RequestInformation (vtkInformation*,
00130                      vtkInformationVector**,
00131                      vtkInformationVector*);
00132       virtual void ThreadedRequestData(vtkInformation *request, 
00133                                    vtkInformationVector **inputVector, 
00134                                    vtkInformationVector *outputVector,
00135                                    vtkImageData ***inData, 
00136                                    vtkImageData **outData,
00137                                    int extent[6], int threadId);
00138       virtual int FillInputPortInformation(int port, vtkInformation* info);
00139    
00140    private:
00141       vtkImageFindPhaseLabels(const vtkImageFindPhaseLabels&);  // Not implemented.
00142       void operator=(const vtkImageFindPhaseLabels&);  // Not implemented.
00143 };
00144 
00145 #endif

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