00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00037 #ifndef __vtkImageColocalizationTest_h
00038 #define __vtkImageColocalizationTest_h
00039
00040
00041 #include "vtkImageMultipleInputFilter.h"
00042
00043
00044 float* makeKernel(double radius);
00045
00046 class VTK_IMAGING_EXPORT vtkImageColocalizationTest : public vtkImageMultipleInputFilter
00047 {
00048 public:
00049 static vtkImageColocalizationTest *New();
00050 vtkTypeRevisionMacro(vtkImageColocalizationTest,vtkImageMultipleInputFilter);
00051 void PrintSelf(ostream& os, vtkIndent indent);
00052
00053
00054
00055 vtkGetMacro(IgnoreZeroPixels,int);
00056 vtkSetMacro(IgnoreZeroPixels,int);
00058
00059 vtkGetMacro(RandomizeZ,int);
00060 vtkSetMacro(RandomizeZ,int);
00062
00064
00065 vtkGetMacro(ManualPSFSize,double);
00066 vtkSetMacro(ManualPSFSize,double);
00068
00070
00071 vtkGetMacro(NumIterations,int);
00072 vtkSetMacro(NumIterations,int);
00074
00075
00077
00078 vtkGetMacro(Method,int);
00079 vtkSetMacro(Method,int);
00081
00083
00084 vtkGetMacro(CurrentSlice,int);
00085 vtkSetMacro(CurrentSlice,int);
00087
00089
00090 vtkGetMacro(NumericalAperture,double);
00091 vtkSetMacro(NumericalAperture,double);
00093
00095
00096 vtkGetMacro(PixelSize,double);
00097 vtkSetMacro(PixelSize,double);
00098
00099
00100 vtkGetMacro(Ch2Lambda,int);
00101 vtkSetMacro(Ch2Lambda,int);
00103
00105
00106 vtkGetMacro(PValue,double);
00107 vtkSetMacro(PValue,double);
00109
00111
00112 vtkGetMacro(RObserved,double);
00113 vtkSetMacro(RObserved,double);
00114
00115
00116 vtkGetMacro(RRandMean,double);
00117 vtkSetMacro(RRandMean,double);
00118
00119
00120 vtkGetMacro(RRandSD,double);
00121 vtkSetMacro(RRandSD,double);
00122
00123
00124 vtkGetMacro(ColocCount,int);
00125 vtkSetMacro(ColocCount,int);
00126
00127
00128 vtkGetMacro(PSF,double);
00129 vtkSetMacro(PSF,double);
00131
00132
00133 protected:
00134 vtkImageColocalizationTest();
00135 ~vtkImageColocalizationTest();
00136
00137
00138
00139 void ExecuteInformation(vtkImageData **inputs, vtkImageData *output);
00140 void ComputeInputUpdateExtent(int inExt[6], int outExt[6]);
00141
00142 void ThreadedExecute(vtkImageData **inDatas, vtkImageData *outData,
00143 int extent[6], int id);
00144
00145
00146 void InitOutput(int outExt[6], vtkImageData *outData);
00147 private:
00148 vtkImageColocalizationTest(const vtkImageColocalizationTest&);
00149 void operator=(const vtkImageColocalizationTest&);
00150
00151 int IgnoreZeroPixels;
00152 int RandomizeZ;
00153 int Smooth;
00154 double ManualPSFSize;
00155 int NumIterations;
00156 int Ch2Lambda;
00157 double NumericalAperture;
00158 double PixelSize;
00159
00160 int Method;
00161 int CurrentSlice;
00162
00163 double PValue;
00164 double RObserved;
00165 double RRandMean;
00166 double RRandSD;
00167 double PSF;
00168 int ColocCount;
00169
00170 };
00171
00172 #endif