LSST Applications 27.0.0,g0265f82a02+469cd937ee,g02d81e74bb+21ad69e7e1,g1470d8bcf6+cbe83ee85a,g2079a07aa2+e67c6346a6,g212a7c68fe+04a9158687,g2305ad1205+94392ce272,g295015adf3+81dd352a9d,g2bbee38e9b+469cd937ee,g337abbeb29+469cd937ee,g3939d97d7f+72a9f7b576,g487adcacf7+71499e7cba,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+df404f777f,g5a732f18d5+be83d3ecdb,g64a986408d+21ad69e7e1,g858d7b2824+21ad69e7e1,g8a8a8dda67+a6fc98d2e7,g99cad8db69+f62e5b0af5,g9ddcbc5298+d4bad12328,ga1e77700b3+9c366c4306,ga8c6da7877+71e4819109,gb0e22166c9+25ba2f69a1,gb6a65358fc+469cd937ee,gbb8dafda3b+69d3c0e320,gc07e1c2157+a98bf949bb,gc120e1dc64+615ec43309,gc28159a63d+469cd937ee,gcf0d15dbbd+72a9f7b576,gdaeeff99f8+a38ce5ea23,ge6526c86ff+3a7c1ac5f1,ge79ae78c31+469cd937ee,gee10cc3b42+a6fc98d2e7,gf1cff7945b+21ad69e7e1,gfbcc870c63+9a11dc8c8f
LSST Data Management Base Package
Loading...
Searching...
No Matches
Classes | Functions | Variables
lsst.meas.modelfit.priors.priorsContinued Namespace Reference

Classes

class  SemiEmpiricalPrior
 
class  SoftenedLinearPrior
 

Functions

 fitMixture (data, nComponents, minFactor=0.25, maxFactor=4.0, nIterations=20, df=float("inf"))
 

Variables

 SemiEmpiricalPriorConfig = makeConfigClass(SemiEmpiricalPriorControl)
 
 SoftenedLinearPriorConfig = makeConfigClass(SoftenedLinearPriorControl)
 

Function Documentation

◆ fitMixture()

lsst.meas.modelfit.priors.priorsContinued.fitMixture ( data,
nComponents,
minFactor = 0.25,
maxFactor = 4.0,
nIterations = 20,
df = float("inf") )
Fit a ``Mixture`` distribution to a set of (e1, e2, r) data points,
returing a ``MixturePrior`` object.

Parameters
----------
data : numpy.ndarray
    array of data points to fit; shape=(N,3)
nComponents : int
    number of components in the mixture distribution
minFactor : float
    ellipticity variance of the smallest component in the initial mixture,
    relative to the measured variance
maxFactor : float
    ellipticity variance of the largest component in the initial mixture,
    relative to the measured variance
nIterations : int
    number of expectation-maximization update iterations
df : float
    number of degrees of freedom for component Student's T distributions
    (inf=Gaussian).

Definition at line 54 of file priorsContinued.py.

55 nIterations=20, df=float("inf")):
56 """Fit a ``Mixture`` distribution to a set of (e1, e2, r) data points,
57 returing a ``MixturePrior`` object.
58
59 Parameters
60 ----------
61 data : numpy.ndarray
62 array of data points to fit; shape=(N,3)
63 nComponents : int
64 number of components in the mixture distribution
65 minFactor : float
66 ellipticity variance of the smallest component in the initial mixture,
67 relative to the measured variance
68 maxFactor : float
69 ellipticity variance of the largest component in the initial mixture,
70 relative to the measured variance
71 nIterations : int
72 number of expectation-maximization update iterations
73 df : float
74 number of degrees of freedom for component Student's T distributions
75 (inf=Gaussian).
76 """
77 components = Mixture.ComponentList()
78 rMu = data[:, 2].mean()
79 rSigma = data[:, 2].var()
80 eSigma = 0.5*(data[:, 0].var() + data[:, 1].var())
81 mu = np.array([0.0, 0.0, rMu], dtype=float)
82 baseSigma = np.array([[eSigma, 0.0, 0.0],
83 [0.0, eSigma, 0.0],
84 [0.0, 0.0, rSigma]])
85 for factor in np.linspace(minFactor, maxFactor, nComponents):
86 sigma = baseSigma.copy()
87 sigma[:2, :2] *= factor
88 components.append(Mixture.Component(1.0, mu, sigma))
89 mixture = Mixture(3, components, df)
90 restriction = MixturePrior.getUpdateRestriction()
91 for i in range(nIterations):
92 mixture.updateEM(data, restriction)
93 return mixture

Variable Documentation

◆ SemiEmpiricalPriorConfig

lsst.meas.modelfit.priors.priorsContinued.SemiEmpiricalPriorConfig = makeConfigClass(SemiEmpiricalPriorControl)

Definition at line 37 of file priorsContinued.py.

◆ SoftenedLinearPriorConfig

lsst.meas.modelfit.priors.priorsContinued.SoftenedLinearPriorConfig = makeConfigClass(SoftenedLinearPriorControl)

Definition at line 39 of file priorsContinued.py.