dox/Imaging/vtkImageT2Map.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   vtkCNMRRLibrary
00004   Module:    $RCSfile: vtkImageT2Map.h,v $
00005 
00006   Copyright  2005  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   Alternatively, the contents of this file may be used under the terms of 
00028   the GNU general public license (the "GPL"), in which case the provisions 
00029   of GPL are applicable instead of those above. If you wish to allow use of 
00030   your version of this file only under the terms of the GPL and not to allow 
00031   others to use your version of this file under the License, indicate your 
00032   decision by deleting the provisions above and replace them with the notice 
00033   and other provisions required by the GPL. If you do not delete the 
00034   provisions above, a recipient may use your version of this file under 
00035   either the License or the GNU General Public License.
00036 
00037 =========================================================================*/
00038  
00080 #ifndef __vtkImageT2Map_h
00081 #define __vtkImageT2Map_h
00082 
00083 // Values used to select T2 fitting type.
00084 #define VTK_TTWO_LINEAR 0
00085 #define VTK_TTWO_NON_LINEAR 1
00086 #define VTK_TTWO_NON_LINEAR_WITH_CONSTANT 2
00087 
00088 #include "vtkImageMultipleInputFilter.h"
00089 #include "vtkDoubleArray.h"
00090 #include "vtkCNMRRImagingWin32Header.h"
00091 
00092 class VTK_CNMRR_IMAGING_EXPORT vtkImageT2Map : public vtkImageMultipleInputFilter
00093 {
00094    public:
00095       static vtkImageT2Map *New();
00096       vtkTypeRevisionMacro(vtkImageT2Map,vtkImageMultipleInputFilter);
00097       void PrintSelf(ostream& os, vtkIndent indent);
00098             
00100       void SetEchoTimes(vtkDoubleArray * _arg);
00101    
00103       vtkDoubleArray *GetEchoTimes();
00104       
00106 
00107       vtkSetMacro(T2FitType,int);
00108       vtkGetMacro(T2FitType,int);
00109       void SetT2FitTypeToLinear() 
00110          {this->SetT2FitType(VTK_TTWO_LINEAR);};
00111       void SetT2FitTypeToNonLinear();
00112       void SetT2FitTypeToNonLinearWithConstant(); 
00114       
00116 
00117       vtkSetMacro(SmartT2Filtering, int);
00118       vtkGetMacro(SmartT2Filtering, int);
00119       vtkBooleanMacro(SmartT2Filtering, int);
00121       
00123       void SetMaxT2Time(double _arg);
00124       
00126       double GetMaxT2Time();
00127       
00129 
00130       vtkSetMacro(PerformR2Mapping, int);
00131       vtkGetMacro(PerformR2Mapping, int);
00132       vtkBooleanMacro(PerformR2Mapping, int);
00134    
00135    protected:
00136 
00137       vtkImageT2Map();
00138       ~vtkImageT2Map();
00139 
00140       void ExecuteInformation(vtkImageData **inputs, vtkImageData *output);
00141       void ExecuteInformation(){this->vtkImageMultipleInputFilter::ExecuteInformation();};
00142       
00143       void ThreadedExecute(vtkImageData **inDatas, vtkImageData *outData,
00144                      int extent[6], int id);
00145       
00146       void InitOutput(int outExt[6], vtkImageData *outData);
00147       
00148       vtkDoubleArray *EchoTimes;
00149       int T2FitType;
00150       int SmartT2Filtering;
00151       double MaxT2Time;
00152       int PerformR2Mapping;
00153          
00154    private:
00155       vtkImageT2Map(const vtkImageT2Map&);  // Not implemented.
00156       void operator=(const vtkImageT2Map&);  // Not implemented.
00157 };
00158 
00159 #endif

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