LSSTApplications  11.0-13-gbb96280,12.1.rc1,12.1.rc1+1,12.1.rc1+2,12.1.rc1+5,12.1.rc1+8,12.1.rc1-1-g06d7636+1,12.1.rc1-1-g253890b+5,12.1.rc1-1-g3d31b68+7,12.1.rc1-1-g3db6b75+1,12.1.rc1-1-g5c1385a+3,12.1.rc1-1-g83b2247,12.1.rc1-1-g90cb4cf+6,12.1.rc1-1-g91da24b+3,12.1.rc1-2-g3521f8a,12.1.rc1-2-g39433dd+4,12.1.rc1-2-g486411b+2,12.1.rc1-2-g4c2be76,12.1.rc1-2-gc9c0491,12.1.rc1-2-gda2cd4f+6,12.1.rc1-3-g3391c73+2,12.1.rc1-3-g8c1bd6c+1,12.1.rc1-3-gcf4b6cb+2,12.1.rc1-4-g057223e+1,12.1.rc1-4-g19ed13b+2,12.1.rc1-4-g30492a7
LSSTDataManagementBasePackage
PsiHelper.h
Go to the documentation of this file.
1 #ifndef MeasAlgoShapeletPsiHelper_H
2 #define MeasAlgoShapeletPsiHelper_H
3 
5 
6 // Here is the order of p,q along the indices of psi:
7 //
8 // k 0 1,2 3,4 5 6,7 8,9 10,11 12,13 14 15,16 17,18 19,20 21,22 23,24 25,26 27
9 // p 0 1 2 1 3 2 4 3 2 5 4 3 6 5 4 3
10 // q 0 0 0 1 0 1 0 1 2 0 1 2 0 1 2 3
11 // n 0 1 2 2 3 3 4 4 4 5 5 5 6 6 6 6
12 // m 0 1 2 0 3 1 4 2 0 5 3 1 6 4 2 0
13 
14 namespace lsst {
15 namespace meas {
16 namespace algorithms {
17 namespace shapelet {
18 
19  // Make the psi matrix.
20  // Each row is a pixel.
21  // The columns correspond to each psi index (see above).
22  // The input z vector has the position of each pixel.
23  // The optional coeff parameter specifies a coefficient to multiply each row.
24  void makePsi(
25  DMatrix& psi, CDVectorView z, int order, const DVector* coeff=0);
26 
27  // Same thing, but for a single pixel.
28  void makePsi(DVector& psi, std::complex<double> z, int order);
29 
30  // Add some more columns to a psi matrix for two more radial orders.
31  // The order is the original order of the matrix.
32  // So the result is a psi matrix for order+2.
33  void augmentPsi(DMatrix& psi, CDVectorView z, int order);
34 
35  // Gx = d(psi)/dx. Likewise for the other parameters.
36  void setupGx(DMatrix& Gx, int order1, int order2);
37  void setupGy(DMatrix& Gy, int order1, int order2);
38  void setupGg1(DMatrix& Gg1, int order1, int order2);
39  void setupGg2(DMatrix& Gg2, int order1, int order2);
40  void setupGmu(DMatrix& Gmu, int order1, int order2);
41  void setupGth(DMatrix& Gth, int order1, int order2);
42 
43 }}}}
44 
45 #endif
void setupGg1(DMatrix &Gg1, int order1, int order2)
Definition: PsiHelper.cc:449
void setupGth(DMatrix &Gth, int order1, int order2)
Definition: PsiHelper.cc:579
Eigen::Block< CDVector, Eigen::Dynamic, 1 > CDVectorView
Definition: MyMatrix.h:140
void makePsi(DMatrix &psi, CDVectorView z, int order, const DVector *coeff=0)
Definition: PsiHelper.cc:226
void setupGx(DMatrix &Gx, int order1, int order2)
Definition: PsiHelper.cc:370
void setupGy(DMatrix &Gy, int order1, int order2)
Definition: PsiHelper.cc:409
void setupGg2(DMatrix &Gg2, int order1, int order2)
Definition: PsiHelper.cc:500
void augmentPsi(DMatrix &psi, CDVectorView z, int order)
Definition: PsiHelper.cc:320
void setupGmu(DMatrix &Gmu, int order1, int order2)
Definition: PsiHelper.cc:551