2 # mrcImageBilateralFilter : $Revision$
5 # Usage : mrcImageBilateralFilter
15 #define GLOBAL_DECLARATION
16 #include "../inc/config.h"
21 #include "lmrcImageBilateralFilter.h"
25 typedef struct lmrcImageBilateralFilterInfo {
28 } lmrcImageBilateralFilterInfo;
30 typedef enum lmrcImageBilateralFilterMode {
33 } lmrcImageBilateralFilterMode;
37 main(int argc, char* argv[])
39 mrcImageBilateralFilterInfo info;
40 lmrcImageBilateralFilterInfo linfo;
45 argCheck(&info, argc, argv);
48 DEBUGPRINT("Program Start\n");
51 if(info.flagKernelSizeX) {
52 linfo.kernelSize.x = info.KernelSizeX;
53 linfo.kernelSize.y = info.KernelSizeY;
54 linfo.kernelSize.z = info.KernelSizeZ;
55 linfo.flagKernelSize = 1;
56 } else if(info.flagKernelSize) {
57 linfo.kernelSize.x = info.KernelSize;
58 linfo.kernelSize.y = info.KernelSize;
59 linfo.kernelSize.z = info.KernelSize;
60 linfo.flagKernelSize = 1;
62 fprintf(stderr, "Use default kernelSIze %ld %ld %ld\n", info.KernelSizeX, info.KernelSizeY, info.KernelSizeZ);
63 linfo.kernelSize.x = info.KernelSizeX;
64 linfo.kernelSize.y = info.KernelSizeY;
65 linfo.kernelSize.z = info.KernelSizeZ;
66 linfo.flagKernelSize = 1;
69 linfo.sigmaDensity = info.SigmaDensity;
70 linfo.sigmaDensityMode = info.KernelTypeDensity;
72 if(info.flagSigmaSpaceX) {
73 linfo.sigmaSpace.x = info.SigmaSpaceX;
74 linfo.sigmaSpace.y = info.SigmaSpaceY;
75 linfo.sigmaSpace.z = info.SigmaSpaceZ;
76 } else if(info.flagSigmaSpace) {
77 linfo.sigmaSpace.x = info.SigmaSpace;
78 linfo.sigmaSpace.y = info.SigmaSpace;
79 linfo.sigmaSpace.z = info.SigmaSpace;
81 linfo.sigmaSpace.x = info.SigmaSpaceX;
82 linfo.sigmaSpace.y = info.SigmaSpaceY;
83 linfo.sigmaSpace.z = info.SigmaSpaceZ;
86 linfo.sigmaSpaceMode = info.KernelTypeSpace;
88 mrcFileRead(&in, info.In, "in main", 0);
90 lmrcImageBilateralFilter(&out, &in, linfo, info.mode);
92 mrcFileWrite(&out, info.Out, "in main", 0);
100 fprintf(stderr, "----- Additional Usage -----\n");
101 lmrcImageBilateralFilterUsage(stderr);