Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

ImageProcessorsByNameDefinitions.cpp

00001 // *************** DO NOT MODIFY!!! ***********
00002 //  ** AUTOMATICALLY GENERATED SRC CODE **
00003 
00004 template<class ImageType >
00005 void
00006 ImProc_Addition_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00007 {
00008     typedef typename ImageType::value_type Im3DValue;
00009     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00010     ImageType& arg1 =*StringOrAlternateInputArg<ImageType >( args[1] ,alternateArgs,1 );
00011     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00012     IP3D::Addition(arg0, arg1, arg2);
00013     CleanupArg< ImageType >(arg0,alternateArgs,0);
00014     CleanupArg< ImageType >(arg1,alternateArgs,1);
00015     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00016     CleanupArg< ImageType >(arg2,alternateArgs,2);
00017 }
00018 template<class ImageType >
00019 void
00020 ImProc_AdditionWithConstant_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00021 {
00022     typedef typename ImageType::value_type Im3DValue;
00023     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00024     Im3DValue& arg1 =*StringOrAlternateInputArg<Im3DValue >( args[1] ,alternateArgs,1 );
00025     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00026     IP3D::AdditionWithConstant(arg0, arg1, arg2);
00027     CleanupArg< ImageType >(arg0,alternateArgs,0);
00028     CleanupArg< Im3DValue >(arg1,alternateArgs,1);
00029     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00030     CleanupArg< ImageType >(arg2,alternateArgs,2);
00031 }
00032 template<class ImageType >
00033 void
00034 ImProc_Difference_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00035 {
00036     typedef typename ImageType::value_type Im3DValue;
00037     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00038     ImageType& arg1 =*StringOrAlternateInputArg<ImageType >( args[1] ,alternateArgs,1 );
00039     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00040     IP3D::Difference(arg0, arg1, arg2);
00041     CleanupArg< ImageType >(arg0,alternateArgs,0);
00042     CleanupArg< ImageType >(arg1,alternateArgs,1);
00043     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00044     CleanupArg< ImageType >(arg2,alternateArgs,2);
00045 }
00046 template<class ImageType >
00047 void
00048 ImProc_DifferenceWithConstant_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00049 {
00050     typedef typename ImageType::value_type Im3DValue;
00051     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00052     Im3DValue& arg1 =*StringOrAlternateInputArg<Im3DValue >( args[1] ,alternateArgs,1 );
00053     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00054     IP3D::DifferenceWithConstant(arg0, arg1, arg2);
00055     CleanupArg< ImageType >(arg0,alternateArgs,0);
00056     CleanupArg< Im3DValue >(arg1,alternateArgs,1);
00057     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00058     CleanupArg< ImageType >(arg2,alternateArgs,2);
00059 }
00060 template<class ImageType >
00061 void
00062 ImProc_Multiplication_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00063 {
00064     typedef typename ImageType::value_type Im3DValue;
00065     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00066     ImageType& arg1 =*StringOrAlternateInputArg<ImageType >( args[1] ,alternateArgs,1 );
00067     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00068     IP3D::Multiplication(arg0, arg1, arg2);
00069     CleanupArg< ImageType >(arg0,alternateArgs,0);
00070     CleanupArg< ImageType >(arg1,alternateArgs,1);
00071     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00072     CleanupArg< ImageType >(arg2,alternateArgs,2);
00073 }
00074 template<class ImageType >
00075 void
00076 ImProc_MultiplicationWithConstant_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00077 {
00078     typedef typename ImageType::value_type Im3DValue;
00079     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00080     double& arg1 =*StringOrAlternateInputArg<double >( args[1] ,alternateArgs,1 );
00081     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00082     IP3D::MultiplicationWithConstant(arg0, arg1, arg2);
00083     CleanupArg< ImageType >(arg0,alternateArgs,0);
00084     CleanupArg< double >(arg1,alternateArgs,1);
00085     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00086     CleanupArg< ImageType >(arg2,alternateArgs,2);
00087 }
00088 template<class ImageType >
00089 void
00090 ImProc_Division_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00091 {
00092     typedef typename ImageType::value_type Im3DValue;
00093     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00094     ImageType& arg1 =*StringOrAlternateInputArg<ImageType >( args[1] ,alternateArgs,1 );
00095     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00096     IP3D::Division(arg0, arg1, arg2);
00097     CleanupArg< ImageType >(arg0,alternateArgs,0);
00098     CleanupArg< ImageType >(arg1,alternateArgs,1);
00099     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00100     CleanupArg< ImageType >(arg2,alternateArgs,2);
00101 }
00102 template<class ImageType >
00103 void
00104 ImProc_MaxImage_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00105 {
00106     typedef typename ImageType::value_type Im3DValue;
00107     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00108     ImageType& arg1 =*StringOrAlternateInputArg<ImageType >( args[1] ,alternateArgs,1 );
00109     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00110     IP3D::MaxImage(arg0, arg1, arg2);
00111     CleanupArg< ImageType >(arg0,alternateArgs,0);
00112     CleanupArg< ImageType >(arg1,alternateArgs,1);
00113     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00114     CleanupArg< ImageType >(arg2,alternateArgs,2);
00115 }
00116 template<class ImageType >
00117 void
00118 ImProc_Abs_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00119 {
00120     typedef typename ImageType::value_type Im3DValue;
00121     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00122     ImageType& arg1 =*CreateOutputArg<ImageType >(alternateArgs,1 );
00123     IP3D::Abs(arg0, arg1);
00124     CleanupArg< ImageType >(arg0,alternateArgs,0);
00125     ImProcOutputArg< ImageType >(arg1,args[1],alternateArgs,1);
00126     CleanupArg< ImageType >(arg1,alternateArgs,1);
00127 }
00128 template<class ImageType >
00129 void
00130 ImProc_Convolution_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00131 {
00132     typedef typename ImageType::value_type Im3DValue;
00133     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00134     Filter& arg1 =*StringOrAlternateInputArg<Filter >( args[1] ,alternateArgs,1 );
00135     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00136     IP3D::Convolution(arg0, arg1, arg2);
00137     CleanupArg< ImageType >(arg0,alternateArgs,0);
00138     CleanupArg< Filter >(arg1,alternateArgs,1);
00139     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00140     CleanupArg< ImageType >(arg2,alternateArgs,2);
00141 }
00142 template<class ImageType >
00143 void
00144 ImProc_ConvolutionFFT_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00145 {
00146     typedef typename ImageType::value_type Im3DValue;
00147     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00148     Filter& arg1 =*StringOrAlternateInputArg<Filter >( args[1] ,alternateArgs,1 );
00149     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00150     IP3D::ConvolutionFFT(arg0, arg1, arg2);
00151     CleanupArg< ImageType >(arg0,alternateArgs,0);
00152     CleanupArg< Filter >(arg1,alternateArgs,1);
00153     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00154     CleanupArg< ImageType >(arg2,alternateArgs,2);
00155 }
00156 template<class ImageType >
00157 void
00158 ImProc_PartialSum_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00159 {
00160     typedef typename ImageType::value_type Im3DValue;
00161     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00162     RectZone3Di& arg1 =*StringOrAlternateInputArg<RectZone3Di >( args[1] ,alternateArgs,1 );
00163     Im3DValue& arg2 =*CreateOutputArg<Im3DValue >(alternateArgs,2 );
00164     IP3D::PartialSum(arg0, arg1, arg2);
00165     CleanupArg< ImageType >(arg0,alternateArgs,0);
00166     CleanupArg< RectZone3Di >(arg1,alternateArgs,1);
00167     ImProcOutputArg< Im3DValue >(arg2,args[2],alternateArgs,2);
00168     CleanupArg< Im3DValue >(arg2,alternateArgs,2);
00169 }
00170 template<class ImageType >
00171 void
00172 ImProc_CumulativeSum_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00173 {
00174     typedef typename ImageType::value_type Im3DValue;
00175     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00176     ImageType& arg1 =*CreateOutputArg<ImageType >(alternateArgs,1 );
00177     IP3D::CumulativeSum(arg0, arg1);
00178     CleanupArg< ImageType >(arg0,alternateArgs,0);
00179     ImProcOutputArg< ImageType >(arg1,args[1],alternateArgs,1);
00180     CleanupArg< ImageType >(arg1,alternateArgs,1);
00181 }
00182 template<class ImageType >
00183 void
00184 ImProc_BoxFilter_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00185 {
00186     typedef typename ImageType::value_type Im3DValue;
00187     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00188     int& arg1 =*StringOrAlternateInputArg<int >( args[1] ,alternateArgs,1 );
00189     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00190     IP3D::BoxFilter(arg0, arg1, arg2);
00191     CleanupArg< ImageType >(arg0,alternateArgs,0);
00192     CleanupArg< int >(arg1,alternateArgs,1);
00193     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00194     CleanupArg< ImageType >(arg2,alternateArgs,2);
00195 }
00196 template<class ImageType >
00197 void
00198 ImProc_GaussianApproxFilter_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00199 {
00200     typedef typename ImageType::value_type Im3DValue;
00201     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00202     int& arg1 =*StringOrAlternateInputArg<int >( args[1] ,alternateArgs,1 );
00203     int& arg2 =*StringOrAlternateInputArg<int >( args[2] ,alternateArgs,2 );
00204     ImageType& arg3 =*CreateOutputArg<ImageType >(alternateArgs,3 );
00205     IP3D::GaussianApproxFilter(arg0, arg1, arg2, arg3);
00206     CleanupArg< ImageType >(arg0,alternateArgs,0);
00207     CleanupArg< int >(arg1,alternateArgs,1);
00208     CleanupArg< int >(arg2,alternateArgs,2);
00209     ImProcOutputArg< ImageType >(arg3,args[3],alternateArgs,3);
00210     CleanupArg< ImageType >(arg3,alternateArgs,3);
00211 }
00212 template<class ImageType >
00213 void
00214 ImProc_BorderCorrectedGaussianApproxFilter_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00215 {
00216     typedef typename ImageType::value_type Im3DValue;
00217     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00218     int& arg1 =*StringOrAlternateInputArg<int >( args[1] ,alternateArgs,1 );
00219     int& arg2 =*StringOrAlternateInputArg<int >( args[2] ,alternateArgs,2 );
00220     ImageType& arg3 =*CreateOutputArg<ImageType >(alternateArgs,3 );
00221     IP3D::BorderCorrectedGaussianApproxFilter(arg0, arg1, arg2, arg3);
00222     CleanupArg< ImageType >(arg0,alternateArgs,0);
00223     CleanupArg< int >(arg1,alternateArgs,1);
00224     CleanupArg< int >(arg2,alternateArgs,2);
00225     ImProcOutputArg< ImageType >(arg3,args[3],alternateArgs,3);
00226     CleanupArg< ImageType >(arg3,alternateArgs,3);
00227 }
00228 template<class ImageType >
00229 void
00230 ImProc_SymmetricBinomialFilter_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00231 {
00232     typedef typename ImageType::value_type Im3DValue;
00233     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00234     int& arg1 =*StringOrAlternateInputArg<int >( args[1] ,alternateArgs,1 );
00235     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00236     IP3D::SymmetricBinomialFilter(arg0, arg1, arg2);
00237     CleanupArg< ImageType >(arg0,alternateArgs,0);
00238     CleanupArg< int >(arg1,alternateArgs,1);
00239     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00240     CleanupArg< ImageType >(arg2,alternateArgs,2);
00241 }
00242 template<class ImageType >
00243 void
00244 ImProc_ScalarProduct_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00245 {
00246     typedef typename ImageType::value_type Im3DValue;
00247     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00248     ImageType& arg1 =*StringOrAlternateInputArg<ImageType >( args[1] ,alternateArgs,1 );
00249     double& arg2 =*CreateOutputArg<double >(alternateArgs,2 );
00250     IP3D::ScalarProduct(arg0, arg1, arg2);
00251     CleanupArg< ImageType >(arg0,alternateArgs,0);
00252     CleanupArg< ImageType >(arg1,alternateArgs,1);
00253     ImProcOutputArg< double >(arg2,args[2],alternateArgs,2);
00254     CleanupArg< double >(arg2,alternateArgs,2);
00255 }
00256 template<class ImageType >
00257 void
00258 ImProc_Average_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00259 {
00260     typedef typename ImageType::value_type Im3DValue;
00261     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00262     Im3DValue& arg1 =*CreateOutputArg<Im3DValue >(alternateArgs,1 );
00263     IP3D::Average(arg0, arg1);
00264     CleanupArg< ImageType >(arg0,alternateArgs,0);
00265     ImProcOutputArg< Im3DValue >(arg1,args[1],alternateArgs,1);
00266     CleanupArg< Im3DValue >(arg1,alternateArgs,1);
00267 }
00268 template<class ImageType >
00269 void
00270 ImProc_AverageAndVariance_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00271 {
00272     typedef typename ImageType::value_type Im3DValue;
00273     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00274     double& arg1 =*CreateOutputArg<double >(alternateArgs,1 );
00275     double& arg2 =*CreateOutputArg<double >(alternateArgs,2 );
00276     IP3D::AverageAndVariance(arg0, arg1, arg2);
00277     CleanupArg< ImageType >(arg0,alternateArgs,0);
00278     ImProcOutputArg< double >(arg1,args[1],alternateArgs,1);
00279     CleanupArg< double >(arg1,alternateArgs,1);
00280     ImProcOutputArg< double >(arg2,args[2],alternateArgs,2);
00281     CleanupArg< double >(arg2,alternateArgs,2);
00282 }
00283 template<class ImageType >
00284 void
00285 ImProc_Median_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00286 {
00287     typedef typename ImageType::value_type Im3DValue;
00288     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00289     double& arg1 =*StringOrAlternateInputArg<double >( args[1] ,alternateArgs,1 );
00290     double& arg2 =*CreateOutputArg<double >(alternateArgs,2 );
00291     IP3D::Median(arg0, arg1, arg2);
00292     CleanupArg< ImageType >(arg0,alternateArgs,0);
00293     CleanupArg< double >(arg1,alternateArgs,1);
00294     ImProcOutputArg< double >(arg2,args[2],alternateArgs,2);
00295     CleanupArg< double >(arg2,alternateArgs,2);
00296 }
00297 template<class ImageType >
00298 void
00299 ImProc_MedianFilter_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00300 {
00301     typedef typename ImageType::value_type Im3DValue;
00302     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00303     StructureElement& arg1 =*StringOrAlternateInputArg<StructureElement >( args[1] ,alternateArgs,1 );
00304     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00305     IP3D::MedianFilter(arg0, arg1, arg2);
00306     CleanupArg< ImageType >(arg0,alternateArgs,0);
00307     CleanupArg< StructureElement >(arg1,alternateArgs,1);
00308     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00309     CleanupArg< ImageType >(arg2,alternateArgs,2);
00310 }
00311 template<class ImageType >
00312 void
00313 ImProc_SharpeningFilter_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00314 {
00315     typedef typename ImageType::value_type Im3DValue;
00316     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00317     StructureElement& arg1 =*StringOrAlternateInputArg<StructureElement >( args[1] ,alternateArgs,1 );
00318     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00319     IP3D::SharpeningFilter(arg0, arg1, arg2);
00320     CleanupArg< ImageType >(arg0,alternateArgs,0);
00321     CleanupArg< StructureElement >(arg1,alternateArgs,1);
00322     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00323     CleanupArg< ImageType >(arg2,alternateArgs,2);
00324 }
00325 template<class ImageType >
00326 void
00327 ImProc_Erosion_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00328 {
00329     typedef typename ImageType::value_type Im3DValue;
00330     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00331     StructureElement& arg1 =*StringOrAlternateInputArg<StructureElement >( args[1] ,alternateArgs,1 );
00332     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00333     IP3D::Erosion(arg0, arg1, arg2);
00334     CleanupArg< ImageType >(arg0,alternateArgs,0);
00335     CleanupArg< StructureElement >(arg1,alternateArgs,1);
00336     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00337     CleanupArg< ImageType >(arg2,alternateArgs,2);
00338 }
00339 template<class ImageType >
00340 void
00341 ImProc_Dilation_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00342 {
00343     typedef typename ImageType::value_type Im3DValue;
00344     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00345     StructureElement& arg1 =*StringOrAlternateInputArg<StructureElement >( args[1] ,alternateArgs,1 );
00346     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00347     IP3D::Dilation(arg0, arg1, arg2);
00348     CleanupArg< ImageType >(arg0,alternateArgs,0);
00349     CleanupArg< StructureElement >(arg1,alternateArgs,1);
00350     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00351     CleanupArg< ImageType >(arg2,alternateArgs,2);
00352 }
00353 template<class ImageType >
00354 void
00355 ImProc_Opening_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00356 {
00357     typedef typename ImageType::value_type Im3DValue;
00358     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00359     StructureElement& arg1 =*StringOrAlternateInputArg<StructureElement >( args[1] ,alternateArgs,1 );
00360     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00361     IP3D::Opening(arg0, arg1, arg2);
00362     CleanupArg< ImageType >(arg0,alternateArgs,0);
00363     CleanupArg< StructureElement >(arg1,alternateArgs,1);
00364     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00365     CleanupArg< ImageType >(arg2,alternateArgs,2);
00366 }
00367 template<class ImageType >
00368 void
00369 ImProc_Closing_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00370 {
00371     typedef typename ImageType::value_type Im3DValue;
00372     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00373     StructureElement& arg1 =*StringOrAlternateInputArg<StructureElement >( args[1] ,alternateArgs,1 );
00374     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00375     IP3D::Closing(arg0, arg1, arg2);
00376     CleanupArg< ImageType >(arg0,alternateArgs,0);
00377     CleanupArg< StructureElement >(arg1,alternateArgs,1);
00378     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00379     CleanupArg< ImageType >(arg2,alternateArgs,2);
00380 }
00381 template<class ImageType >
00382 void
00383 ImProc_SimpleThreshold_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00384 {
00385     typedef typename ImageType::value_type Im3DValue;
00386     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00387     Im3DValue& arg1 =*StringOrAlternateInputArg<Im3DValue >( args[1] ,alternateArgs,1 );
00388     Mask3D& arg2 =*CreateOutputArg<Mask3D >(alternateArgs,2 );
00389     IP3D::SimpleThreshold(arg0, arg1, arg2);
00390     CleanupArg< ImageType >(arg0,alternateArgs,0);
00391     CleanupArg< Im3DValue >(arg1,alternateArgs,1);
00392     ImProcOutputArg< Mask3D >(arg2,args[2],alternateArgs,2);
00393     CleanupArg< Mask3D >(arg2,alternateArgs,2);
00394 }
00395 template<class ImageType >
00396 void
00397 ImProc_SimpleThresholds2_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00398 {
00399     typedef typename ImageType::value_type Im3DValue;
00400     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00401     Im3DValue& arg1 =*StringOrAlternateInputArg<Im3DValue >( args[1] ,alternateArgs,1 );
00402     Im3DValue& arg2 =*StringOrAlternateInputArg<Im3DValue >( args[2] ,alternateArgs,2 );
00403     Mask3D& arg3 =*CreateOutputArg<Mask3D >(alternateArgs,3 );
00404     IP3D::SimpleThresholds2(arg0, arg1, arg2, arg3);
00405     CleanupArg< ImageType >(arg0,alternateArgs,0);
00406     CleanupArg< Im3DValue >(arg1,alternateArgs,1);
00407     CleanupArg< Im3DValue >(arg2,alternateArgs,2);
00408     ImProcOutputArg< Mask3D >(arg3,args[3],alternateArgs,3);
00409     CleanupArg< Mask3D >(arg3,alternateArgs,3);
00410 }
00411 template<class ImageType >
00412 void
00413 ImProc_LimitThreshold_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00414 {
00415     typedef typename ImageType::value_type Im3DValue;
00416     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00417     Im3DValue& arg1 =*StringOrAlternateInputArg<Im3DValue >( args[1] ,alternateArgs,1 );
00418     Im3DValue& arg2 =*StringOrAlternateInputArg<Im3DValue >( args[2] ,alternateArgs,2 );
00419     ImageType& arg3 =*CreateOutputArg<ImageType >(alternateArgs,3 );
00420     IP3D::LimitThreshold(arg0, arg1, arg2, arg3);
00421     CleanupArg< ImageType >(arg0,alternateArgs,0);
00422     CleanupArg< Im3DValue >(arg1,alternateArgs,1);
00423     CleanupArg< Im3DValue >(arg2,alternateArgs,2);
00424     ImProcOutputArg< ImageType >(arg3,args[3],alternateArgs,3);
00425     CleanupArg< ImageType >(arg3,alternateArgs,3);
00426 }
00427 template<class ImageType >
00428 void
00429 ImProc_OtsuThresholds_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00430 {
00431     typedef typename ImageType::value_type Im3DValue;
00432     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00433     Mask3D& arg1 =*CreateOutputArg<Mask3D >(alternateArgs,1 );
00434     int& arg2 =*OptionalDefaultValueArg<int >( args[2] ,alternateArgs,2 ,2);
00435     vector<double>& arg3 =*OptionalPointerArgCreateOutput<vector<double> >( args[3] ,alternateArgs,3 );
00436     int& arg4 =*OptionalDefaultValueArg<int >( args[4] ,alternateArgs,4 ,1000);
00437     IP3D::OtsuThresholds(arg0, arg1, arg2, &arg3, arg4);
00438     CleanupArg< ImageType >(arg0,alternateArgs,0);
00439     ImProcOutputArg< Mask3D >(arg1,args[1],alternateArgs,1);
00440     CleanupArg< Mask3D >(arg1,alternateArgs,1);
00441     CleanupArg< vector<double> >(arg3,alternateArgs,3);
00442 }
00443 template<class ImageType >
00444 void
00445 ImProc_CenterOfGravity_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00446 {
00447     typedef typename ImageType::value_type Im3DValue;
00448     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00449     double& arg1 =*CreateOutputArg<double >(alternateArgs,1 );
00450     Vect3Df& arg2 =*CreateOutputArg<Vect3Df >(alternateArgs,2 );
00451     IP3D::CenterOfGravity(arg0, arg1, arg2);
00452     CleanupArg< ImageType >(arg0,alternateArgs,0);
00453     ImProcOutputArg< double >(arg1,args[1],alternateArgs,1);
00454     CleanupArg< double >(arg1,alternateArgs,1);
00455     ImProcOutputArg< Vect3Df >(arg2,args[2],alternateArgs,2);
00456     CleanupArg< Vect3Df >(arg2,alternateArgs,2);
00457 }
00458 template<class ImageType >
00459 void
00460 ImProc_TransformWithInverseField_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00461 {
00462     typedef typename ImageType::value_type Im3DValue;
00463     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00464     Image3Dlinear<Vect3Df>& arg1 =*StringOrAlternateInputArg<Image3Dlinear<Vect3Df> >( args[1] ,alternateArgs,1 );
00465     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00466     IP3D::TransformWithInverseField(arg0, arg1, arg2);
00467     CleanupArg< ImageType >(arg0,alternateArgs,0);
00468     CleanupArg< Image3Dlinear<Vect3Df> >(arg1,alternateArgs,1);
00469     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00470     CleanupArg< ImageType >(arg2,alternateArgs,2);
00471 }
00472 template<class ImageType >
00473 void
00474 ImProc_TransformAffine_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00475 {
00476     typedef typename ImageType::value_type Im3DValue;
00477     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00478     Affine3DTransform& arg1 =*StringOrAlternateInputArg<Affine3DTransform >( args[1] ,alternateArgs,1 );
00479     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00480     Size3D& arg3 =*OptionalPointerArg<Size3D >( args[3] ,alternateArgs,3 );
00481     IP3D::TransformAffine(arg0, arg1, arg2, &arg3);
00482     CleanupArg< ImageType >(arg0,alternateArgs,0);
00483     CleanupArg< Affine3DTransform >(arg1,alternateArgs,1);
00484     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00485     CleanupArg< ImageType >(arg2,alternateArgs,2);
00486     CleanupArg< Size3D >(arg3,alternateArgs,3);
00487 }
00488 template<class ImageType >
00489 void
00490 ImProc_Scale_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00491 {
00492     typedef typename ImageType::value_type Im3DValue;
00493     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00494     Size3D& arg1 =*StringOrAlternateInputArg<Size3D >( args[1] ,alternateArgs,1 );
00495     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00496     IP3D::Scale(arg0, arg1, arg2);
00497     CleanupArg< ImageType >(arg0,alternateArgs,0);
00498     CleanupArg< Size3D >(arg1,alternateArgs,1);
00499     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00500     CleanupArg< ImageType >(arg2,alternateArgs,2);
00501 }
00502 template<class ImageType >
00503 void
00504 ImProc_Flip_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00505 {
00506     typedef typename ImageType::value_type Im3DValue;
00507     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00508     string& arg1 =*StringOrAlternateInputArg<string >( args[1] ,alternateArgs,1 );
00509     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00510     IP3D::Flip(arg0, arg1, arg2);
00511     CleanupArg< ImageType >(arg0,alternateArgs,0);
00512     CleanupArg< string >(arg1,alternateArgs,1);
00513     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00514     CleanupArg< ImageType >(arg2,alternateArgs,2);
00515 }
00516 template<class ImageType >
00517 void
00518 ImProc_SwapAxes_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00519 {
00520     typedef typename ImageType::value_type Im3DValue;
00521     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00522     string& arg1 =*StringOrAlternateInputArg<string >( args[1] ,alternateArgs,1 );
00523     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00524     IP3D::SwapAxes(arg0, arg1, arg2);
00525     CleanupArg< ImageType >(arg0,alternateArgs,0);
00526     CleanupArg< string >(arg1,alternateArgs,1);
00527     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00528     CleanupArg< ImageType >(arg2,alternateArgs,2);
00529 }
00530 template<class ImageType >
00531 void
00532 ImProc_WrapTranslate_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00533 {
00534     typedef typename ImageType::value_type Im3DValue;
00535     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00536     Vect3Di& arg1 =*StringOrAlternateInputArg<Vect3Di >( args[1] ,alternateArgs,1 );
00537     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00538     IP3D::WrapTranslate(arg0, arg1, arg2);
00539     CleanupArg< ImageType >(arg0,alternateArgs,0);
00540     CleanupArg< Vect3Di >(arg1,alternateArgs,1);
00541     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00542     CleanupArg< ImageType >(arg2,alternateArgs,2);
00543 }
00544 template<class ImageType >
00545 void
00546 ImProc_Crop_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00547 {
00548     typedef typename ImageType::value_type Im3DValue;
00549     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00550     RectZone3Di& arg1 =*StringOrAlternateInputArg<RectZone3Di >( args[1] ,alternateArgs,1 );
00551     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00552     IP3D::Crop(arg0, arg1, arg2);
00553     CleanupArg< ImageType >(arg0,alternateArgs,0);
00554     CleanupArg< RectZone3Di >(arg1,alternateArgs,1);
00555     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00556     CleanupArg< ImageType >(arg2,alternateArgs,2);
00557 }
00558 template<class ImageType >
00559 void
00560 ImProc_Pad_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00561 {
00562     typedef typename ImageType::value_type Im3DValue;
00563     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00564     Vect3Di& arg1 =*StringOrAlternateInputArg<Vect3Di >( args[1] ,alternateArgs,1 );
00565     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00566     bool& arg3 =*OptionalDefaultValueArg<bool >( args[3] ,alternateArgs,3 ,false);
00567     IP3D::Pad(arg0, arg1, arg2, arg3);
00568     CleanupArg< ImageType >(arg0,alternateArgs,0);
00569     CleanupArg< Vect3Di >(arg1,alternateArgs,1);
00570     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00571     CleanupArg< ImageType >(arg2,alternateArgs,2);
00572 }
00573 template<class ImageType >
00574 void
00575 ImProc_InsertImage_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00576 {
00577     typedef typename ImageType::value_type Im3DValue;
00578     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00579     ImageType& arg1 =*StringOrAlternateInputArg<ImageType >( args[1] ,alternateArgs,1 );
00580     Vect3Di& arg2 =*StringOrAlternateInputArg<Vect3Di >( args[2] ,alternateArgs,2 );
00581     ImageType& arg3 =*CreateOutputArg<ImageType >(alternateArgs,3 );
00582     IP3D::InsertImage(arg0, arg1, arg2, arg3);
00583     CleanupArg< ImageType >(arg0,alternateArgs,0);
00584     CleanupArg< ImageType >(arg1,alternateArgs,1);
00585     CleanupArg< Vect3Di >(arg2,alternateArgs,2);
00586     ImProcOutputArg< ImageType >(arg3,args[3],alternateArgs,3);
00587     CleanupArg< ImageType >(arg3,alternateArgs,3);
00588 }
00589 template<class ImageType >
00590 void
00591 ImProc_ResizeImageSupport_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00592 {
00593     typedef typename ImageType::value_type Im3DValue;
00594     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00595     Size3D& arg1 =*StringOrAlternateInputArg<Size3D >( args[1] ,alternateArgs,1 );
00596     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00597     Im3DValue& arg3 =*OptionalPointerArg<Im3DValue >( args[3] ,alternateArgs,3 );
00598     IP3D::ResizeImageSupport(arg0, arg1, arg2, &arg3);
00599     CleanupArg< ImageType >(arg0,alternateArgs,0);
00600     CleanupArg< Size3D >(arg1,alternateArgs,1);
00601     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00602     CleanupArg< ImageType >(arg2,alternateArgs,2);
00603     CleanupArg< Im3DValue >(arg3,alternateArgs,3);
00604 }
00605 template<class ImageType >
00606 void
00607 ImProc_FindFirstDifference_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00608 {
00609     typedef typename ImageType::value_type Im3DValue;
00610     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00611     ImageType& arg1 =*StringOrAlternateInputArg<ImageType >( args[1] ,alternateArgs,1 );
00612     bool& arg2 =*CreateOutputArg<bool >(alternateArgs,2 );
00613     Vect3Di& arg3 =*CreateOutputArg<Vect3Di >(alternateArgs,3 );
00614     IP3D::FindFirstDifference(arg0, arg1, arg2, arg3);
00615     CleanupArg< ImageType >(arg0,alternateArgs,0);
00616     CleanupArg< ImageType >(arg1,alternateArgs,1);
00617     ImProcOutputArg< bool >(arg2,args[2],alternateArgs,2);
00618     CleanupArg< bool >(arg2,alternateArgs,2);
00619     ImProcOutputArg< Vect3Di >(arg3,args[3],alternateArgs,3);
00620     CleanupArg< Vect3Di >(arg3,alternateArgs,3);
00621 }
00622 template<class ImageType >
00623 void
00624 ImProc_FindMinMax_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00625 {
00626     typedef typename ImageType::value_type Im3DValue;
00627     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00628     Im3DValue& arg1 =*CreateOutputArg<Im3DValue >(alternateArgs,1 );
00629     Im3DValue& arg2 =*CreateOutputArg<Im3DValue >(alternateArgs,2 );
00630     Vect3Di& arg3 =*OptionalPointerArgCreateOutput<Vect3Di >( args[3] ,alternateArgs,3 );
00631     Vect3Di& arg4 =*OptionalPointerArgCreateOutput<Vect3Di >( args[4] ,alternateArgs,4 );
00632     IP3D::FindMinMax(arg0, arg1, arg2, &arg3, &arg4);
00633     CleanupArg< ImageType >(arg0,alternateArgs,0);
00634     ImProcOutputArg< Im3DValue >(arg1,args[1],alternateArgs,1);
00635     CleanupArg< Im3DValue >(arg1,alternateArgs,1);
00636     ImProcOutputArg< Im3DValue >(arg2,args[2],alternateArgs,2);
00637     CleanupArg< Im3DValue >(arg2,alternateArgs,2);
00638     ImProcOutputArg< Vect3Di >(arg3,args[3],alternateArgs,3);
00639     CleanupArg< Vect3Di >(arg3,alternateArgs,3);
00640     ImProcOutputArg< Vect3Di >(arg4,args[4],alternateArgs,4);
00641     CleanupArg< Vect3Di >(arg4,alternateArgs,4);
00642 }
00643 template<class ImageType >
00644 void
00645 ImProc_SetAllVoxels_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00646 {
00647     typedef typename ImageType::value_type Im3DValue;
00648     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00649     Im3DValue& arg1 =*StringOrAlternateInputArg<Im3DValue >( args[1] ,alternateArgs,1 );
00650     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00651     IP3D::SetAllVoxels(arg0, arg1, arg2);
00652     CleanupArg< ImageType >(arg0,alternateArgs,0);
00653     CleanupArg< Im3DValue >(arg1,alternateArgs,1);
00654     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00655     CleanupArg< ImageType >(arg2,alternateArgs,2);
00656 }
00657 template<class ImageType >
00658 void
00659 ImProc_AddMask_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00660 {
00661     typedef typename ImageType::value_type Im3DValue;
00662     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00663     ImageType& arg1 =*CreateOutputArg<ImageType >(alternateArgs,1 );
00664     Mask3D& arg2 =*OptionalPointerArg<Mask3D >( args[2] ,alternateArgs,2 );
00665     IP3D::AddMask(arg0, arg1, &arg2);
00666     CleanupArg< ImageType >(arg0,alternateArgs,0);
00667     ImProcOutputArg< ImageType >(arg1,args[1],alternateArgs,1);
00668     CleanupArg< ImageType >(arg1,alternateArgs,1);
00669     CleanupArg< Mask3D >(arg2,alternateArgs,2);
00670 }
00671 template<class ImageType >
00672 void
00673 ImProc_GetMask_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00674 {
00675     typedef typename ImageType::value_type Im3DValue;
00676     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00677     Mask3D& arg1 =*CreateOutputArg<Mask3D >(alternateArgs,1 );
00678     IP3D::GetMask(arg0, arg1);
00679     CleanupArg< ImageType >(arg0,alternateArgs,0);
00680     ImProcOutputArg< Mask3D >(arg1,args[1],alternateArgs,1);
00681     CleanupArg< Mask3D >(arg1,alternateArgs,1);
00682 }
00683 template<class ImageType >
00684 void
00685 ImProc_ApplyMask_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00686 {
00687     typedef typename ImageType::value_type Im3DValue;
00688     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00689     ImageType& arg1 =*CreateOutputArg<ImageType >(alternateArgs,1 );
00690     byte& arg2 =*OptionalDefaultValueArg<byte >( args[2] ,alternateArgs,2 ,0);
00691     Mask3D& arg3 =*OptionalPointerArg<Mask3D >( args[3] ,alternateArgs,3 );
00692     IP3D::ApplyMask(arg0, arg1, arg2, &arg3);
00693     CleanupArg< ImageType >(arg0,alternateArgs,0);
00694     ImProcOutputArg< ImageType >(arg1,args[1],alternateArgs,1);
00695     CleanupArg< ImageType >(arg1,alternateArgs,1);
00696     CleanupArg< Mask3D >(arg3,alternateArgs,3);
00697 }
00698 template<class ImageType >
00699 void
00700 ImProc_SetDefaultInterpolator_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00701 {
00702     typedef typename ImageType::value_type Im3DValue;
00703     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00704     string& arg1 =*StringOrAlternateInputArg<string >( args[1] ,alternateArgs,1 );
00705     ImageType& arg2 =*CreateOutputArg<ImageType >(alternateArgs,2 );
00706     IP3D::SetDefaultInterpolator(arg0, arg1, arg2);
00707     CleanupArg< ImageType >(arg0,alternateArgs,0);
00708     CleanupArg< string >(arg1,alternateArgs,1);
00709     ImProcOutputArg< ImageType >(arg2,args[2],alternateArgs,2);
00710     CleanupArg< ImageType >(arg2,alternateArgs,2);
00711 }
00712 template<class ImageType >
00713 void
00714 ImProc_SetProperty_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00715 {
00716     typedef typename ImageType::value_type Im3DValue;
00717     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00718     string& arg1 =*StringOrAlternateInputArg<string >( args[1] ,alternateArgs,1 );
00719     string& arg2 =*StringOrAlternateInputArg<string >( args[2] ,alternateArgs,2 );
00720     string& arg3 =*StringOrAlternateInputArg<string >( args[3] ,alternateArgs,3 );
00721     ImageType& arg4 =*CreateOutputArg<ImageType >(alternateArgs,4 );
00722     IP3D::SetProperty(arg0, arg1, arg2, arg3, arg4);
00723     CleanupArg< ImageType >(arg0,alternateArgs,0);
00724     CleanupArg< string >(arg1,alternateArgs,1);
00725     CleanupArg< string >(arg2,alternateArgs,2);
00726     CleanupArg< string >(arg3,alternateArgs,3);
00727     ImProcOutputArg< ImageType >(arg4,args[4],alternateArgs,4);
00728     CleanupArg< ImageType >(arg4,alternateArgs,4);
00729 }
00730 template<class ImageType >
00731 void
00732 ImProc_WriteToFileAVW_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00733 {
00734     typedef typename ImageType::value_type Im3DValue;
00735     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00736     string& arg1 =*StringOrAlternateInputArg<string >( args[1] ,alternateArgs,1 );
00737     IP3D::WriteToFileAVW(arg0, arg1);
00738     CleanupArg< ImageType >(arg0,alternateArgs,0);
00739     CleanupArg< string >(arg1,alternateArgs,1);
00740 }
00741 template<class ImageType >
00742 void
00743 ImProc_ExportImageSlice_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00744 {
00745     typedef typename ImageType::value_type Im3DValue;
00746     ImageType& arg0 =*StringOrAlternateInputArg<ImageType >( args[0] ,alternateArgs,0 );
00747     int& arg1 =*StringOrAlternateInputArg<int >( args[1] ,alternateArgs,1 );
00748     int& arg2 =*StringOrAlternateInputArg<int >( args[2] ,alternateArgs,2 );
00749     string& arg3 =*StringOrAlternateInputArg<string >( args[3] ,alternateArgs,3 );
00750     float& arg4 =*OptionalDefaultValueArg<float >( args[4] ,alternateArgs,4 ,1);
00751     IP3D::ExportImageSlice(arg0, arg1, arg2, arg3, arg4);
00752     CleanupArg< ImageType >(arg0,alternateArgs,0);
00753     CleanupArg< int >(arg1,alternateArgs,1);
00754     CleanupArg< int >(arg2,alternateArgs,2);
00755     CleanupArg< string >(arg3,alternateArgs,3);
00756 }
00757 void
00758 ImProc_FFTLowPassFilterApodizedIdeal_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00759 {
00760     Image3Df& arg0 =*StringOrAlternateInputArg<Image3Df >( args[0] ,alternateArgs,0 );
00761     float& arg1 =*StringOrAlternateInputArg<float >( args[1] ,alternateArgs,1 );
00762     Image3Df& arg2 =*CreateOutputArg<Image3Df >(alternateArgs,2 );
00763     float& arg3 =*OptionalDefaultValueArg<float >( args[3] ,alternateArgs,3 ,0);
00764     IP3D::FFTLowPassFilterApodizedIdeal(arg0, arg1, arg2, arg3);
00765     CleanupArg< Image3Df >(arg0,alternateArgs,0);
00766     CleanupArg< float >(arg1,alternateArgs,1);
00767     ImProcOutputArg< Image3Df >(arg2,args[2],alternateArgs,2);
00768     CleanupArg< Image3Df >(arg2,alternateArgs,2);
00769 }
00770 void
00771 ImProc_FFTLowPassFilterButterworth_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00772 {
00773     Image3Df& arg0 =*StringOrAlternateInputArg<Image3Df >( args[0] ,alternateArgs,0 );
00774     float& arg1 =*StringOrAlternateInputArg<float >( args[1] ,alternateArgs,1 );
00775     float& arg2 =*StringOrAlternateInputArg<float >( args[2] ,alternateArgs,2 );
00776     Image3Df& arg3 =*CreateOutputArg<Image3Df >(alternateArgs,3 );
00777     IP3D::FFTLowPassFilterButterworth(arg0, arg1, arg2, arg3);
00778     CleanupArg< Image3Df >(arg0,alternateArgs,0);
00779     CleanupArg< float >(arg1,alternateArgs,1);
00780     CleanupArg< float >(arg2,alternateArgs,2);
00781     ImProcOutputArg< Image3Df >(arg3,args[3],alternateArgs,3);
00782     CleanupArg< Image3Df >(arg3,alternateArgs,3);
00783 }
00784 void
00785 ImProc_FFTLowPassFilterChebyscheff_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00786 {
00787     Image3Df& arg0 =*StringOrAlternateInputArg<Image3Df >( args[0] ,alternateArgs,0 );
00788     float& arg1 =*StringOrAlternateInputArg<float >( args[1] ,alternateArgs,1 );
00789     float& arg2 =*StringOrAlternateInputArg<float >( args[2] ,alternateArgs,2 );
00790     Image3Df& arg3 =*CreateOutputArg<Image3Df >(alternateArgs,3 );
00791     IP3D::FFTLowPassFilterChebyscheff(arg0, arg1, arg2, arg3);
00792     CleanupArg< Image3Df >(arg0,alternateArgs,0);
00793     CleanupArg< float >(arg1,alternateArgs,1);
00794     CleanupArg< float >(arg2,alternateArgs,2);
00795     ImProcOutputArg< Image3Df >(arg3,args[3],alternateArgs,3);
00796     CleanupArg< Image3Df >(arg3,alternateArgs,3);
00797 }
00798 void
00799 ImProc_RobustAverageAndVariance_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00800 {
00801     Image3Df& arg0 =*StringOrAlternateInputArg<Image3Df >( args[0] ,alternateArgs,0 );
00802     double& arg1 =*CreateOutputArg<double >(alternateArgs,1 );
00803     double& arg2 =*CreateOutputArg<double >(alternateArgs,2 );
00804     IP3D::RobustAverageAndVariance(arg0, arg1, arg2);
00805     CleanupArg< Image3Df >(arg0,alternateArgs,0);
00806     ImProcOutputArg< double >(arg1,args[1],alternateArgs,1);
00807     CleanupArg< double >(arg1,alternateArgs,1);
00808     ImProcOutputArg< double >(arg2,args[2],alternateArgs,2);
00809     CleanupArg< double >(arg2,alternateArgs,2);
00810 }
00811 void
00812 ImProc_DistanceTransform_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00813 {
00814     Mask3D& arg0 =*StringOrAlternateInputArg<Mask3D >( args[0] ,alternateArgs,0 );
00815     StructureElement& arg1 =*StringOrAlternateInputArg<StructureElement >( args[1] ,alternateArgs,1 );
00816     Image3Df& arg2 =*CreateOutputArg<Image3Df >(alternateArgs,2 );
00817     bool& arg3 =*OptionalDefaultValueArg<bool >( args[3] ,alternateArgs,3 ,false);
00818     IP3D::DistanceTransform(arg0, arg1, arg2, arg3);
00819     CleanupArg< Mask3D >(arg0,alternateArgs,0);
00820     CleanupArg< StructureElement >(arg1,alternateArgs,1);
00821     ImProcOutputArg< Image3Df >(arg2,args[2],alternateArgs,2);
00822     CleanupArg< Image3Df >(arg2,alternateArgs,2);
00823 }
00824 void
00825 ImProc_ConnectedComponentLabelling_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00826 {
00827     Mask3D& arg0 =*StringOrAlternateInputArg<Mask3D >( args[0] ,alternateArgs,0 );
00828     StructureElement& arg1 =*StringOrAlternateInputArg<StructureElement >( args[1] ,alternateArgs,1 );
00829     Image3Dlinear<int>& arg2 =*CreateOutputArg<Image3Dlinear<int> >(alternateArgs,2 );
00830     IP3D::ConnectedComponentLabelling(arg0, arg1, arg2);
00831     CleanupArg< Mask3D >(arg0,alternateArgs,0);
00832     CleanupArg< StructureElement >(arg1,alternateArgs,1);
00833     ImProcOutputArg< Image3Dlinear<int> >(arg2,args[2],alternateArgs,2);
00834     CleanupArg< Image3Dlinear<int> >(arg2,alternateArgs,2);
00835 }
00836 void
00837 ImProc_FillHoles_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00838 {
00839     Mask3D& arg0 =*StringOrAlternateInputArg<Mask3D >( args[0] ,alternateArgs,0 );
00840     StructureElement& arg1 =*StringOrAlternateInputArg<StructureElement >( args[1] ,alternateArgs,1 );
00841     Mask3D& arg2 =*CreateOutputArg<Mask3D >(alternateArgs,2 );
00842     IP3D::FillHoles(arg0, arg1, arg2);
00843     CleanupArg< Mask3D >(arg0,alternateArgs,0);
00844     CleanupArg< StructureElement >(arg1,alternateArgs,1);
00845     ImProcOutputArg< Mask3D >(arg2,args[2],alternateArgs,2);
00846     CleanupArg< Mask3D >(arg2,alternateArgs,2);
00847 }
00848 void
00849 ImProc_LargestConnectedComponent_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00850 {
00851     Mask3D& arg0 =*StringOrAlternateInputArg<Mask3D >( args[0] ,alternateArgs,0 );
00852     Mask3D& arg1 =*CreateOutputArg<Mask3D >(alternateArgs,1 );
00853     IP3D::LargestConnectedComponent(arg0, arg1);
00854     CleanupArg< Mask3D >(arg0,alternateArgs,0);
00855     ImProcOutputArg< Mask3D >(arg1,args[1],alternateArgs,1);
00856     CleanupArg< Mask3D >(arg1,alternateArgs,1);
00857 }
00858 void
00859 ImProc_VoxelCode_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00860 {
00861     Mask3D& arg0 =*StringOrAlternateInputArg<Mask3D >( args[0] ,alternateArgs,0 );
00862     Mask3D& arg1 =*StringOrAlternateInputArg<Mask3D >( args[1] ,alternateArgs,1 );
00863     int& arg2 =*StringOrAlternateInputArg<int >( args[2] ,alternateArgs,2 );
00864     int& arg3 =*StringOrAlternateInputArg<int >( args[3] ,alternateArgs,3 );
00865     int& arg4 =*StringOrAlternateInputArg<int >( args[4] ,alternateArgs,4 );
00866     Image3Dlinear<int>& arg5 =*CreateOutputArg<Image3Dlinear<int> >(alternateArgs,5 );
00867     IP3D::VoxelCode(arg0, arg1, arg2, arg3, arg4, arg5);
00868     CleanupArg< Mask3D >(arg0,alternateArgs,0);
00869     CleanupArg< Mask3D >(arg1,alternateArgs,1);
00870     CleanupArg< int >(arg2,alternateArgs,2);
00871     CleanupArg< int >(arg3,alternateArgs,3);
00872     CleanupArg< int >(arg4,alternateArgs,4);
00873     ImProcOutputArg< Image3Dlinear<int> >(arg5,args[5],alternateArgs,5);
00874     CleanupArg< Image3Dlinear<int> >(arg5,alternateArgs,5);
00875 }
00876 void
00877 ImProc_SSCode_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00878 {
00879     Mask3D& arg0 =*StringOrAlternateInputArg<Mask3D >( args[0] ,alternateArgs,0 );
00880     Vect3Di& arg1 =*StringOrAlternateInputArg<Vect3Di >( args[1] ,alternateArgs,1 );
00881     int& arg2 =*StringOrAlternateInputArg<int >( args[2] ,alternateArgs,2 );
00882     int& arg3 =*StringOrAlternateInputArg<int >( args[3] ,alternateArgs,3 );
00883     int& arg4 =*StringOrAlternateInputArg<int >( args[4] ,alternateArgs,4 );
00884     Image3Dlinear<int>& arg5 =*CreateOutputArg<Image3Dlinear<int> >(alternateArgs,5 );
00885     Vect3Di& arg6 =*OptionalPointerArg<Vect3Di >( args[6] ,alternateArgs,6 );
00886     IP3D::SSCode(arg0, arg1, arg2, arg3, arg4, arg5, &arg6);
00887     CleanupArg< Mask3D >(arg0,alternateArgs,0);
00888     CleanupArg< Vect3Di >(arg1,alternateArgs,1);
00889     CleanupArg< int >(arg2,alternateArgs,2);
00890     CleanupArg< int >(arg3,alternateArgs,3);
00891     CleanupArg< int >(arg4,alternateArgs,4);
00892     ImProcOutputArg< Image3Dlinear<int> >(arg5,args[5],alternateArgs,5);
00893     CleanupArg< Image3Dlinear<int> >(arg5,alternateArgs,5);
00894     CleanupArg< Vect3Di >(arg6,alternateArgs,6);
00895 }
00896 void
00897 ImProc_BSCode_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00898 {
00899     Mask3D& arg0 =*StringOrAlternateInputArg<Mask3D >( args[0] ,alternateArgs,0 );
00900     int& arg1 =*StringOrAlternateInputArg<int >( args[1] ,alternateArgs,1 );
00901     int& arg2 =*StringOrAlternateInputArg<int >( args[2] ,alternateArgs,2 );
00902     int& arg3 =*StringOrAlternateInputArg<int >( args[3] ,alternateArgs,3 );
00903     Image3Dlinear<int>& arg4 =*CreateOutputArg<Image3Dlinear<int> >(alternateArgs,4 );
00904     IP3D::BSCode(arg0, arg1, arg2, arg3, arg4);
00905     CleanupArg< Mask3D >(arg0,alternateArgs,0);
00906     CleanupArg< int >(arg1,alternateArgs,1);
00907     CleanupArg< int >(arg2,alternateArgs,2);
00908     CleanupArg< int >(arg3,alternateArgs,3);
00909     ImProcOutputArg< Image3Dlinear<int> >(arg4,args[4],alternateArgs,4);
00910     CleanupArg< Image3Dlinear<int> >(arg4,alternateArgs,4);
00911 }
00912 void
00913 ImProc_Skeleton_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00914 {
00915     Mask3D& arg0 =*StringOrAlternateInputArg<Mask3D >( args[0] ,alternateArgs,0 );
00916     Mask3D& arg1 =*CreateOutputArg<Mask3D >(alternateArgs,1 );
00917     IP3D::Skeleton(arg0, arg1);
00918     CleanupArg< Mask3D >(arg0,alternateArgs,0);
00919     ImProcOutputArg< Mask3D >(arg1,args[1],alternateArgs,1);
00920     CleanupArg< Mask3D >(arg1,alternateArgs,1);
00921 }
00922 void
00923 ImProc_UniModalThreshold_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00924 {
00925     Image3Df& arg0 =*StringOrAlternateInputArg<Image3Df >( args[0] ,alternateArgs,0 );
00926     double& arg1 =*CreateOutputArg<double >(alternateArgs,1 );
00927     Mask3D& arg2 =*OptionalPointerArgCreateOutput<Mask3D >( args[2] ,alternateArgs,2 );
00928     IP3D::UniModalThreshold(arg0, arg1, &arg2);
00929     CleanupArg< Image3Df >(arg0,alternateArgs,0);
00930     ImProcOutputArg< double >(arg1,args[1],alternateArgs,1);
00931     CleanupArg< double >(arg1,alternateArgs,1);
00932     ImProcOutputArg< Mask3D >(arg2,args[2],alternateArgs,2);
00933     CleanupArg< Mask3D >(arg2,alternateArgs,2);
00934 }
00935 void
00936 ImProc_BoundingBox_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00937 {
00938     Mask3D& arg0 =*StringOrAlternateInputArg<Mask3D >( args[0] ,alternateArgs,0 );
00939     RectZone3Di& arg1 =*CreateOutputArg<RectZone3Di >(alternateArgs,1 );
00940     IP3D::BoundingBox(arg0, arg1);
00941     CleanupArg< Mask3D >(arg0,alternateArgs,0);
00942     ImProcOutputArg< RectZone3Di >(arg1,args[1],alternateArgs,1);
00943     CleanupArg< RectZone3Di >(arg1,alternateArgs,1);
00944 }
00945 void
00946 ImProc_ExtractFromComplexImage_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00947 {
00948     Image3Dcomplexf& arg0 =*StringOrAlternateInputArg<Image3Dcomplexf >( args[0] ,alternateArgs,0 );
00949     string& arg1 =*StringOrAlternateInputArg<string >( args[1] ,alternateArgs,1 );
00950     Image3Df& arg2 =*CreateOutputArg<Image3Df >(alternateArgs,2 );
00951     IP3D::ExtractFromComplexImage(arg0, arg1, arg2);
00952     CleanupArg< Image3Dcomplexf >(arg0,alternateArgs,0);
00953     CleanupArg< string >(arg1,alternateArgs,1);
00954     ImProcOutputArg< Image3Df >(arg2,args[2],alternateArgs,2);
00955     CleanupArg< Image3Df >(arg2,alternateArgs,2);
00956 }
00957 void
00958 ImProc_ReadFromFileBruker_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00959 {
00960     string& arg0 =*StringOrAlternateInputArg<string >( args[0] ,alternateArgs,0 );
00961     int& arg1 =*StringOrAlternateInputArg<int >( args[1] ,alternateArgs,1 );
00962     Image3Dlinear<short int>& arg2 =*CreateOutputArg<Image3Dlinear<short int> >(alternateArgs,2 );
00963     IP3D::ReadFromFileBruker(arg0, arg1, arg2);
00964     CleanupArg< string >(arg0,alternateArgs,0);
00965     CleanupArg< int >(arg1,alternateArgs,1);
00966     ImProcOutputArg< Image3Dlinear<short int> >(arg2,args[2],alternateArgs,2);
00967     CleanupArg< Image3Dlinear<short int> >(arg2,alternateArgs,2);
00968 }
00969 void
00970 ImProc_Sphere_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00971 {
00972     Size3D& arg0 =*StringOrAlternateInputArg<Size3D >( args[0] ,alternateArgs,0 );
00973     Vect3Df& arg1 =*StringOrAlternateInputArg<Vect3Df >( args[1] ,alternateArgs,1 );
00974     float& arg2 =*StringOrAlternateInputArg<float >( args[2] ,alternateArgs,2 );
00975     Image3Df& arg3 =*CreateOutputArg<Image3Df >(alternateArgs,3 );
00976     IP3D::Sphere(arg0, arg1, arg2, arg3);
00977     CleanupArg< Size3D >(arg0,alternateArgs,0);
00978     CleanupArg< Vect3Df >(arg1,alternateArgs,1);
00979     CleanupArg< float >(arg2,alternateArgs,2);
00980     ImProcOutputArg< Image3Df >(arg3,args[3],alternateArgs,3);
00981     CleanupArg< Image3Df >(arg3,alternateArgs,3);
00982 }
00983 void
00984 ImProc_Cone_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
00985 {
00986     Size3D& arg0 =*StringOrAlternateInputArg<Size3D >( args[0] ,alternateArgs,0 );
00987     Vect3Df& arg1 =*StringOrAlternateInputArg<Vect3Df >( args[1] ,alternateArgs,1 );
00988     Vect3Df& arg2 =*StringOrAlternateInputArg<Vect3Df >( args[2] ,alternateArgs,2 );
00989     float& arg3 =*StringOrAlternateInputArg<float >( args[3] ,alternateArgs,3 );
00990     Image3Df& arg4 =*CreateOutputArg<Image3Df >(alternateArgs,4 );
00991     float& arg5 =*OptionalDefaultValueArg<float >( args[5] ,alternateArgs,5 ,4.0);
00992     IP3D::Cone(arg0, arg1, arg2, arg3, arg4, arg5);
00993     CleanupArg< Size3D >(arg0,alternateArgs,0);
00994     CleanupArg< Vect3Df >(arg1,alternateArgs,1);
00995     CleanupArg< Vect3Df >(arg2,alternateArgs,2);
00996     CleanupArg< float >(arg3,alternateArgs,3);
00997     ImProcOutputArg< Image3Df >(arg4,args[4],alternateArgs,4);
00998     CleanupArg< Image3Df >(arg4,alternateArgs,4);
00999 }
01000 void
01001 ImProc_NoiseUniform_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
01002 {
01003     Size3D& arg0 =*StringOrAlternateInputArg<Size3D >( args[0] ,alternateArgs,0 );
01004     Image3Df& arg1 =*CreateOutputArg<Image3Df >(alternateArgs,1 );
01005     float& arg2 =*OptionalDefaultValueArg<float >( args[2] ,alternateArgs,2 ,0);
01006     float& arg3 =*OptionalDefaultValueArg<float >( args[3] ,alternateArgs,3 ,1);
01007     IP3D::NoiseUniform(arg0, arg1, arg2, arg3);
01008     CleanupArg< Size3D >(arg0,alternateArgs,0);
01009     ImProcOutputArg< Image3Df >(arg1,args[1],alternateArgs,1);
01010     CleanupArg< Image3Df >(arg1,alternateArgs,1);
01011 }
01012 void
01013 ImProc_NoiseGaussian_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
01014 {
01015     Size3D& arg0 =*StringOrAlternateInputArg<Size3D >( args[0] ,alternateArgs,0 );
01016     Image3Df& arg1 =*CreateOutputArg<Image3Df >(alternateArgs,1 );
01017     float& arg2 =*OptionalDefaultValueArg<float >( args[2] ,alternateArgs,2 ,0);
01018     float& arg3 =*OptionalDefaultValueArg<float >( args[3] ,alternateArgs,3 ,1);
01019     IP3D::NoiseGaussian(arg0, arg1, arg2, arg3);
01020     CleanupArg< Size3D >(arg0,alternateArgs,0);
01021     ImProcOutputArg< Image3Df >(arg1,args[1],alternateArgs,1);
01022     CleanupArg< Image3Df >(arg1,alternateArgs,1);
01023 }
01024 void
01025 ImProc_Explode_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
01026 {
01027     Size3D& arg0 =*StringOrAlternateInputArg<Size3D >( args[0] ,alternateArgs,0 );
01028     Vect3Df& arg1 =*StringOrAlternateInputArg<Vect3Df >( args[1] ,alternateArgs,1 );
01029     Field3Df& arg2 =*CreateOutputArg<Field3Df >(alternateArgs,2 );
01030     IP3D::Explode(arg0, arg1, arg2);
01031     CleanupArg< Size3D >(arg0,alternateArgs,0);
01032     CleanupArg< Vect3Df >(arg1,alternateArgs,1);
01033     ImProcOutputArg< Field3Df >(arg2,args[2],alternateArgs,2);
01034     CleanupArg< Field3Df >(arg2,alternateArgs,2);
01035 }
01036 void
01037 ImProc_Target_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
01038 {
01039     Size3D& arg0 =*StringOrAlternateInputArg<Size3D >( args[0] ,alternateArgs,0 );
01040     Image3Df& arg1 =*CreateOutputArg<Image3Df >(alternateArgs,1 );
01041     IP3D::Target(arg0, arg1);
01042     CleanupArg< Size3D >(arg0,alternateArgs,0);
01043     ImProcOutputArg< Image3Df >(arg1,args[1],alternateArgs,1);
01044     CleanupArg< Image3Df >(arg1,alternateArgs,1);
01045 }
01046 void
01047 ImProc_Bump_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
01048 {
01049     Size3D& arg0 =*StringOrAlternateInputArg<Size3D >( args[0] ,alternateArgs,0 );
01050     Vect3Df& arg1 =*StringOrAlternateInputArg<Vect3Df >( args[1] ,alternateArgs,1 );
01051     float& arg2 =*StringOrAlternateInputArg<float >( args[2] ,alternateArgs,2 );
01052     float& arg3 =*StringOrAlternateInputArg<float >( args[3] ,alternateArgs,3 );
01053     Image3Df& arg4 =*CreateOutputArg<Image3Df >(alternateArgs,4 );
01054     IP3D::Bump(arg0, arg1, arg2, arg3, arg4);
01055     CleanupArg< Size3D >(arg0,alternateArgs,0);
01056     CleanupArg< Vect3Df >(arg1,alternateArgs,1);
01057     CleanupArg< float >(arg2,alternateArgs,2);
01058     CleanupArg< float >(arg3,alternateArgs,3);
01059     ImProcOutputArg< Image3Df >(arg4,args[4],alternateArgs,4);
01060     CleanupArg< Image3Df >(arg4,alternateArgs,4);
01061 }
01062 void
01063 ImProc_Ramp_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
01064 {
01065     Size3D& arg0 =*StringOrAlternateInputArg<Size3D >( args[0] ,alternateArgs,0 );
01066     int& arg1 =*StringOrAlternateInputArg<int >( args[1] ,alternateArgs,1 );
01067     float& arg2 =*StringOrAlternateInputArg<float >( args[2] ,alternateArgs,2 );
01068     float& arg3 =*StringOrAlternateInputArg<float >( args[3] ,alternateArgs,3 );
01069     Image3Df& arg4 =*CreateOutputArg<Image3Df >(alternateArgs,4 );
01070     int& arg5 =*OptionalDefaultValueArg<int >( args[5] ,alternateArgs,5 ,-1);
01071     int& arg6 =*OptionalDefaultValueArg<int >( args[6] ,alternateArgs,6 ,-1);
01072     IP3D::Ramp(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
01073     CleanupArg< Size3D >(arg0,alternateArgs,0);
01074     CleanupArg< int >(arg1,alternateArgs,1);
01075     CleanupArg< float >(arg2,alternateArgs,2);
01076     CleanupArg< float >(arg3,alternateArgs,3);
01077     ImProcOutputArg< Image3Df >(arg4,args[4],alternateArgs,4);
01078     CleanupArg< Image3Df >(arg4,alternateArgs,4);
01079 }
01080 void
01081 ImProc_Parallellogram_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
01082 {
01083     Size3D& arg0 =*StringOrAlternateInputArg<Size3D >( args[0] ,alternateArgs,0 );
01084     RectZone3Di& arg1 =*StringOrAlternateInputArg<RectZone3Di >( args[1] ,alternateArgs,1 );
01085     Image3Df& arg2 =*CreateOutputArg<Image3Df >(alternateArgs,2 );
01086     IP3D::Parallellogram(arg0, arg1, arg2);
01087     CleanupArg< Size3D >(arg0,alternateArgs,0);
01088     CleanupArg< RectZone3Di >(arg1,alternateArgs,1);
01089     ImProcOutputArg< Image3Df >(arg2,args[2],alternateArgs,2);
01090     CleanupArg< Image3Df >(arg2,alternateArgs,2);
01091 }
01092 void
01093 ImProc_RectangularGrid_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
01094 {
01095     Size3D& arg0 =*StringOrAlternateInputArg<Size3D >( args[0] ,alternateArgs,0 );
01096     Size3D& arg1 =*StringOrAlternateInputArg<Size3D >( args[1] ,alternateArgs,1 );
01097     Image3Df& arg2 =*CreateOutputArg<Image3Df >(alternateArgs,2 );
01098     Vect3Di& arg3 =*OptionalPointerArg<Vect3Di >( args[3] ,alternateArgs,3 );
01099     IP3D::RectangularGrid(arg0, arg1, arg2, &arg3);
01100     CleanupArg< Size3D >(arg0,alternateArgs,0);
01101     CleanupArg< Size3D >(arg1,alternateArgs,1);
01102     ImProcOutputArg< Image3Df >(arg2,args[2],alternateArgs,2);
01103     CleanupArg< Image3Df >(arg2,alternateArgs,2);
01104     CleanupArg< Vect3Di >(arg3,alternateArgs,3);
01105 }
01106 void
01107 ImProc_NormalizeAverage_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
01108 {
01109     Image3Df& arg0 =*StringOrAlternateInputArg<Image3Df >( args[0] ,alternateArgs,0 );
01110     Image3Df& arg1 =*StringOrAlternateInputArg<Image3Df >( args[1] ,alternateArgs,1 );
01111     Image3Df& arg2 =*CreateOutputArg<Image3Df >(alternateArgs,2 );
01112     IP3D::NormalizeAverage(arg0, arg1, arg2);
01113     CleanupArg< Image3Df >(arg0,alternateArgs,0);
01114     CleanupArg< Image3Df >(arg1,alternateArgs,1);
01115     ImProcOutputArg< Image3Df >(arg2,args[2],alternateArgs,2);
01116     CleanupArg< Image3Df >(arg2,alternateArgs,2);
01117 }
01118 void
01119 ImProc_NormalizeAverageAndVariance_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
01120 {
01121     Image3Df& arg0 =*StringOrAlternateInputArg<Image3Df >( args[0] ,alternateArgs,0 );
01122     Image3Df& arg1 =*StringOrAlternateInputArg<Image3Df >( args[1] ,alternateArgs,1 );
01123     Image3Df& arg2 =*CreateOutputArg<Image3Df >(alternateArgs,2 );
01124     IP3D::NormalizeAverageAndVariance(arg0, arg1, arg2);
01125     CleanupArg< Image3Df >(arg0,alternateArgs,0);
01126     CleanupArg< Image3Df >(arg1,alternateArgs,1);
01127     ImProcOutputArg< Image3Df >(arg2,args[2],alternateArgs,2);
01128     CleanupArg< Image3Df >(arg2,alternateArgs,2);
01129 }
01130 void
01131 ImProc_NormalizeJointHistogram_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
01132 {
01133     Image3Df& arg0 =*StringOrAlternateInputArg<Image3Df >( args[0] ,alternateArgs,0 );
01134     Image3Df& arg1 =*StringOrAlternateInputArg<Image3Df >( args[1] ,alternateArgs,1 );
01135     Image3Df& arg2 =*CreateOutputArg<Image3Df >(alternateArgs,2 );
01136     int& arg3 =*OptionalDefaultValueArg<int >( args[3] ,alternateArgs,3 ,100);
01137     int& arg4 =*OptionalDefaultValueArg<int >( args[4] ,alternateArgs,4 ,200);
01138     IP3D::NormalizeJointHistogram(arg0, arg1, arg2, arg3, arg4);
01139     CleanupArg< Image3Df >(arg0,alternateArgs,0);
01140     CleanupArg< Image3Df >(arg1,alternateArgs,1);
01141     ImProcOutputArg< Image3Df >(arg2,args[2],alternateArgs,2);
01142     CleanupArg< Image3Df >(arg2,alternateArgs,2);
01143 }
01144 void
01145 ImProc_ComputeJointHistogramImage_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
01146 {
01147     Image3Df& arg0 =*StringOrAlternateInputArg<Image3Df >( args[0] ,alternateArgs,0 );
01148     Image3Df& arg1 =*StringOrAlternateInputArg<Image3Df >( args[1] ,alternateArgs,1 );
01149     Image3Df& arg2 =*CreateOutputArg<Image3Df >(alternateArgs,2 );
01150     int& arg3 =*OptionalDefaultValueArg<int >( args[3] ,alternateArgs,3 ,0);
01151     int& arg4 =*OptionalDefaultValueArg<int >( args[4] ,alternateArgs,4 ,100);
01152     int& arg5 =*OptionalDefaultValueArg<int >( args[5] ,alternateArgs,5 ,200);
01153     IP3D::ComputeJointHistogramImage(arg0, arg1, arg2, arg3, arg4, arg5);
01154     CleanupArg< Image3Df >(arg0,alternateArgs,0);
01155     CleanupArg< Image3Df >(arg1,alternateArgs,1);
01156     ImProcOutputArg< Image3Df >(arg2,args[2],alternateArgs,2);
01157     CleanupArg< Image3Df >(arg2,alternateArgs,2);
01158 }
01159 void
01160 ImProc_TransformRectangularGrid_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
01161 {
01162     Image3Df& arg0 =*CreateOutputArg<Image3Df >(alternateArgs,0 );
01163     Image3Dlinear<Vect3Df>& arg1 =*StringOrAlternateInputArg<Image3Dlinear<Vect3Df> >( args[1] ,alternateArgs,1 );
01164     Size3D& arg2 =*StringOrAlternateInputArg<Size3D >( args[2] ,alternateArgs,2 );
01165     bool& arg3 =*OptionalDefaultValueArg<bool >( args[3] ,alternateArgs,3 ,1);
01166     IP3D::TransformRectangularGrid(arg0, arg1, arg2, arg3);
01167     ImProcOutputArg< Image3Df >(arg0,args[0],alternateArgs,0);
01168     CleanupArg< Image3Df >(arg0,alternateArgs,0);
01169     CleanupArg< Image3Dlinear<Vect3Df> >(arg1,alternateArgs,1);
01170     CleanupArg< Size3D >(arg2,alternateArgs,2);
01171 }
01172 void
01173 ImProc_NoiseVarianceEstimation_StrArgs(const string &procName,const vector<string> &args,vector<TypeSafeGenericPointer> &alternateArgs)
01174 {
01175     Image3Df& arg0 =*StringOrAlternateInputArg<Image3Df >( args[0] ,alternateArgs,0 );
01176     double& arg1 =*CreateOutputArg<double >(alternateArgs,1 );
01177     IP3D::NoiseVarianceEstimation(arg0, arg1);
01178     CleanupArg< Image3Df >(arg0,alternateArgs,0);
01179     ImProcOutputArg< double >(arg1,args[1],alternateArgs,1);
01180     CleanupArg< double >(arg1,alternateArgs,1);
01181 }

Generated on Fri Jun 17 13:36:04 2005 for ImLib3D by  doxygen 1.4.2