00001
00011 #ifndef HxSFFactory_h
00012 #define HxSFFactory_h
00013
00014
00015 #include "HxImageRep.h"
00016 #include "HxImageSignature.h"
00017 #include "HxSF.h"
00018
00019
00020 class L_HXIMAGEREP HxSFFactory{
00021 public:
00023 static HxSFFactory& instance();
00024
00027 HxSF makeSFfromImage(HxImageRep im);
00028
00034 HxSF fromFunction(HxImageRep im);
00035
00036
00039 HxSF makeFlatSF(HxImageSignature sig, HxSizes sz, HxValue val=0);
00040 HxSF makeBoxSF(HxImageSignature sig, HxSizes sz, HxValue val=0);
00041 HxSF makeCrossSF(HxImageSignature sig, HxSizes sz, HxValue val=0);
00042 HxSF makeDiskSF(HxImageSignature sig, HxSizes sz, HxValue val=0);
00043 HxSF makeDiamondSF(HxImageSignature sig, HxSizes sz, HxValue val=0);
00044
00045 HxSF makeGaussianSF(HxSizes sz, double sigma);
00046
00047 HxSF makeParabolaSF(HxSizes sz, double sigma);
00048
00049
00050
00051 private:
00052 static HxSF* construct(HxImageRep im);
00053
00054
00055 };
00056
00057
00058
00059 #endif