LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
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