11 #ifndef ROOT_TSpectrum2Transform
12 #define ROOT_TSpectrum2Transform
16 class TSpectrum2Transform :
public TObject {
27 Double_t fFilterCoeff;
28 Double_t fEnhanceCoeff;
37 kTransformFourierWalsh =6,
38 kTransformFourierHaar =7,
39 kTransformWalshHaar =8,
40 kTransformCosWalsh =9,
41 kTransformCosHaar =10,
42 kTransformSinWalsh =11,
43 kTransformSinHaar =12,
47 TSpectrum2Transform();
48 TSpectrum2Transform(Int_t sizeX, Int_t sizeY);
49 virtual ~TSpectrum2Transform();
52 void BitReverse(Double_t *working_space,Int_t num);
53 void BitReverseHaar(Double_t *working_space,Int_t shift,Int_t num,Int_t start);
54 void FourCos2(Double_t **working_matrix,Double_t *working_vector,Int_t numx,Int_t numy,Int_t direction,Int_t type);
55 void Fourier(Double_t *working_space,Int_t num,Int_t hartley,Int_t direction,Int_t zt_clear);
56 void General2(Double_t **working_matrix,Double_t *working_vector,Int_t numx,Int_t numy,Int_t direction,Int_t type,Int_t degree);
57 Int_t GeneralExe(Double_t *working_space,Int_t zt_clear,Int_t num,Int_t degree,Int_t type);
58 Int_t GeneralInv(Double_t *working_space,Int_t num,Int_t degree,Int_t type);
59 void Haar(Double_t *working_space,Int_t num,Int_t direction);
60 void HaarWalsh2(Double_t **working_matrix,Double_t *working_vector,Int_t numx,Int_t numy,Int_t direction,Int_t type);
61 void Walsh(Double_t *working_space,Int_t num);
64 void Enhance(
const Double_t **fSource, Double_t **fDest);
65 void FilterZonal(
const Double_t **fSource, Double_t **fDest);
66 void SetDirection(Int_t direction);
67 void SetEnhanceCoeff(Double_t enhanceCoeff);
68 void SetFilterCoeff(Double_t filterCoeff);
69 void SetRegion(Int_t xmin, Int_t xmax, Int_t ymin, Int_t ymax);
70 void SetTransformType(Int_t transType, Int_t degree);
71 void Transform(
const Double_t **fSource, Double_t **fDest);
73 ClassDef(TSpectrum2Transform,1)