@@ -91,30 +91,13 @@ The penalty term is created and passed to an ``Analysis`` object as follows:
9191 positions_likelihood = al.PositionsLH(positions = positions, threshold = 0.3 )
9292
9393 analysis = al.AnalysisImaging(
94- dataset = dataset, positions_likelihood = positions_likelihood
94+ dataset = dataset, positions_likelihood_list = [ positions_likelihood]
9595 )
9696
9797 The threshold of 0.5" is large. For an accurate lens model we would anticipate the positions trace within < 0.01" of
9898one another. However, we only want the threshold to aid the non-linear with the choice of mass model in the initial fit
9999and remove demagnified solutions.
100100
101- Resampling
102- ----------
103-
104- An alternative penalty term is available via the ``PositionsLHResample `` object, which rejects and resamples a lens
105- model if the ``positions``do not trace within the ``threshold `` of one another in the source plane.
106-
107- This is not the recommended option, as it is slower and can often lead to prolonged periods of the non-linear search
108- guessing and rejecting mass models.
109-
110- .. code-block :: python
111-
112- positions_likelihood = al.PositionsLHResample(positions = positions, threshold = 0.3 )
113-
114- analysis = al.AnalysisImaging(
115- dataset = dataset, positions_likelihood = positions_likelihood
116- )
117-
118101Auto Position Updates
119102---------------------
120103
@@ -172,4 +155,30 @@ This is often used to set up new ``Analysis`` objects with a positions penalty c
172155 positions_likelihood = result_1.positions_likelihood_from(
173156 factor = 3.0 , minimum_threshold = 0.2
174157 ),
158+ )
159+
160+ Multiple Source Plane Systems
161+ -----------------------------
162+
163+ A double source plane system is a lens system where there are mutiple source-planes at different redshifts, meaning that
164+ incuding the image-plane there are at least 3 planes.
165+
166+ The ``PositionsLH `` class can have a `plane_redshift ` input, which specifies the redshift of the source-plane
167+ the positions are ray-traced to.
168+
169+ Multiple ``PositionsLH `` objects can be passed to the ``Analysis `` object, which then applies the penalty term to
170+ both source-planes independently such that a double source-plane system can be fitted with the penalty based likelihood
171+ functionality.
172+
173+ .. code-block :: python
174+
175+ positions_likelihood_source_plane_0 = al.PositionsLH(positions = positions, threshold = 0.3 , plane_redshift = 1.0 )
176+ positions_likelihood_source_plane_1 = al.PositionsLH(positions = positions, threshold = 0.3 , plane_redshift = 2.0 )
177+
178+ analysis = al.AnalysisImaging(
179+ dataset = dataset, positions_likelihood_list =
180+ [
181+ positions_likelihood_source_plane_0,
182+ positions_likelihood_source_plane_1
183+ ]
175184 )
0 commit comments