-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathworkspace_index.json
More file actions
8326 lines (8326 loc) · 305 KB
/
Copy pathworkspace_index.json
File metadata and controls
8326 lines (8326 loc) · 305 KB
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
[
{
"contents": [
"Imports & Output Path",
"Point Dataset CSV",
"Galaxy Model CSV API",
"Scaling Galaxies CSV",
"af.Model[Galaxy] from CSVs",
"Wrap Up"
],
"cross_refs": [
"modeling.py",
"simulator.py",
"start_here.py"
],
"notebook": "notebooks/cluster/csv_api.ipynb",
"path": "scripts/cluster/csv_api.py",
"summary": "Cluster lens modelling uses a small family of CSV files as its canonical input format. Rather than composing a tracer and a model inline in Python, the cluster workflow stores every component \u2014 main galaxies, dark-matter halo, source light, source point components, scaling-tier members \u2014 in spreadsheet-editable CSVs that are then loaded into PyAutoLens objects.",
"title": "CSV API: Cluster"
},
{
"contents": [
"Paths + URLs",
"Downloads",
"Coordinate Convention",
"Parse arcs.dat",
"Parse galcat.cat",
"Parse best.par",
"Image Cutout",
"Write CSVs"
],
"cross_refs": [
"modeling.py"
],
"notebook": "notebooks/cluster/lenstool/data.ipynb",
"path": "scripts/cluster/lenstool/data.py",
"summary": "This script prepares everything needed to repeat a *published Lenstool cluster analysis* in **PyAutoLens**: the strong-lensing model of the first JWST cluster, SMACS J0723.3-7327, by Mahler et al. 2023 (ApJ 945, 49; arXiv:2207.07101).",
"title": "Lenstool Users: Data Preparation (SMACS J0723)"
},
{
"contents": [
"Load Data",
"The Published Model, Reconstructed",
"Verification I \u2014 source-plane compactness",
"Verification II \u2014 image-plane RMS (optional)",
"Critical Curves (optional)",
"The Refit"
],
"cross_refs": [
"data.py",
"scripts/cluster/modeling.py"
],
"notebook": "notebooks/cluster/lenstool/modeling.ipynb",
"path": "scripts/cluster/lenstool/modeling.py",
"summary": "**If you model galaxy clusters with Lenstool, this script is for you.** It repeats a published Lenstool analysis \u2014 Mahler et al. 2023's model of SMACS J0723, the first JWST cluster \u2014 in **PyAutoLens**, in three steps:",
"title": "Lenstool Users: Cluster Modeling (SMACS J0723)"
},
{
"contents": [],
"cross_refs": [
"autolens_workspace_test/scripts/cluster/lenstool_parity.py",
"cluster/mass_parameterizations.py",
"cluster/modeling.py",
"cluster/simulator.py",
"cluster/start_here.py",
"group/slam.py"
],
"notebook": "notebooks/cluster/lenstool/parameterization_mapping.ipynb",
"path": "scripts/cluster/lenstool/parameterization_mapping.py",
"summary": "**If you want to fit cluster member (scaling) galaxies without knowing the source or lens redshift, this script shows you how \u2014 and proves it recovers the standard Lenstool model exactly once the redshifts become known.**",
"title": "Lenstool Users: dPIE Parameterization Mapping (Scaling Galaxies)"
},
{
"contents": [
"JAX",
"Dataset",
"Truth Model",
"Tracer",
"Source-Plane Chi Squared: Concept",
"Multi-Plane Ray Tracing",
"Back-Traced Source-Plane Positions",
"Source-Plane Centroid",
"Residual Map",
"Magnifications at Positions",
"Chi Squared Map (Source)",
"Per-Source Chi Squared",
"Total Chi Squared (Source)",
"Noise Normalization (Source)",
"Source-Plane Log Likelihood",
"Source-Plane Validation",
"Image-Plane Chi Squared: Concept",
"Point Solver Setup",
"Forward Solving Model Positions",
"Pairing Model to Observed",
"Image-Plane Residual Map",
"Chi Squared Map (Image)",
"Per-Source / Total Chi Squared",
"Noise Normalization (Image)",
"Image-Plane Log Likelihood",
"Image-Plane Validation",
"Source-Plane vs Image-Plane: When to Use Which",
"Wrap Up"
],
"cross_refs": [
"autolens/point/fit/positions/source/separations.py",
"autolens_workspace/scripts/guides/advanced/multi_plane.py",
"autolens_workspace/scripts/guides/lens_calc.py",
"autolens_workspace/scripts/guides/point_source_pairing.py",
"autolens_workspace_test/scripts/cluster/likelihood_sanity.py",
"csv_api.py",
"guides/point_source_pairing.py",
"modeling.py",
"scripts/cluster/csv_api.py",
"scripts/cluster/modeling.py",
"scripts/cluster/simulator.py",
"scripts/cluster/start_here.py",
"scripts/group/likelihood_function.py",
"scripts/guides/using_jax.py",
"scripts/imaging/likelihood_function.py"
],
"notebook": "notebooks/cluster/likelihood_function.ipynb",
"path": "scripts/cluster/likelihood_function.py",
"summary": "This script provides a step-by-step guide of the cluster point-source ``log_likelihood_function``, the figure-of-merit Nautilus optimises when fitting a cluster lens model to ``point_datasets.csv``.",
"title": "Log Likelihood Function: Cluster Point Source"
},
{
"contents": [
"Model 1 \u2014 The Standard Lenstool Model",
"Model 2 \u2014 The Angular (b0) Parameterization",
"Model 3 \u2014 Mass Anchoring",
"Model 4 \u2014 The Two-Parameter Relation"
],
"cross_refs": [
"mass_parameterizations_pyautolens.py"
],
"notebook": "notebooks/cluster/mass_parameterizations.ipynb",
"path": "scripts/cluster/mass_parameterizations.py",
"summary": "**A plain-language tour of the ways to parameterize and couple the masses in a Lenstool-style cluster model \u2014 the cluster-scale halo, the BCG and other individually-freed galaxies, and the member (\"scaling\") population.**",
"title": "Cluster & Group Mass Parameterizations"
},
{
"contents": [],
"cross_refs": [
"cluster/mass_parameterizations.py"
],
"notebook": "notebooks/cluster/mass_parameterizations_pyautolens.ipynb",
"path": "scripts/cluster/mass_parameterizations_pyautolens.py",
"summary": "**For Lenstool users: how and why PyAutoLens re-expresses the standard Lenstool cluster / group model in its native parameterization for multi-galaxy lenses (MGLs), with the scaling galaxies keeping the dPIE's truncation throughout.**",
"title": "Mass Parameterizations II \u2014 Mapping Lenstool onto PyAutoLens"
},
{
"contents": [
"Example",
"Simulation",
"Dataset",
"Model CSVs",
"Scaling Galaxies Table",
"Point Solver",
"Chi Squared",
"Cluster Components",
"Redshifts",
"Model",
"Scaling Relation",
"Name Pairing",
"Search",
"Live Visual Update",
"Analysis",
"Factor Graph",
"Run Times",
"Output Folder Layout",
"Result"
],
"cross_refs": [
"/cluster/simulator.py",
"autolens_workspace_test/scripts/cluster/visualization.py",
"cluster/likelihood_function.py",
"cluster/simulator.py",
"guides/point_source_pairing.py",
"point_source/modeling.py",
"point_source/start_here.py",
"scripts/cluster/csv_api.py",
"scripts/group/features/scaling_relation/modeling.py",
"scripts/group/features/scaling_relation/modeling_for_luminosities.py",
"start_here.py"
],
"notebook": "notebooks/cluster/modeling.ipynb",
"path": "scripts/cluster/modeling.py",
"summary": "This script models the small multi-plane cluster lens simulated by ``cluster/simulator.py``: a Brightest Cluster Galaxy (BCG) plus one satellite member at the lens redshift ``z = 0.5``, 10 lower-mass cluster members modelled collectively via a luminosity-mass scaling relation, a standalone NFW host dark matter halo *not* tied to any individual galaxy, and 2 background sources at *different* redshifts (``z = 1.0`` and ``z = 2.0``) which the cluster lenses into multiple images.",
"title": "Modeling: Cluster"
},
{
"contents": [
"Dataset",
"Dataset Figures",
"Positions Overlay",
"Image Group Zooms",
"Cluster Subplot",
"Tracer",
"Critical Curves",
"Caustics",
"Visualizer"
],
"cross_refs": [
"guides/plot/start_here.py",
"scripts/cluster/start_here.py",
"scripts/imaging/plot.py",
"scripts/point_source/plot.py"
],
"notebook": "notebooks/cluster/plot.ipynb",
"path": "scripts/cluster/plot.py",
"summary": "This example shows how to plot a cluster-scale strong lens dataset \u2014 the multiple-image positions of its lensed sources, individually and overlaid together on an image of the cluster.",
"title": "Plots: Cluster"
},
{
"contents": [
"Multi-Plane Setup",
"Main Lens vs Scaling Members vs Host Halo vs Source Galaxies",
"Dataset Paths",
"Imaging and Visualization Grids",
"Galaxy Centres",
"Over Sampling",
"Main Lens Galaxies",
"Scaling Member Galaxies",
"Host Dark Matter Halo",
"Source Galaxies",
"Ray Tracing",
"JAX JIT",
"Point Solver",
"Point Datasets",
"Combined CSV",
"Manual CSV Editing",
"Scaling Galaxies CSV",
"Model CSVs",
"Tracer JSON",
"Imaging",
"Visualize"
],
"cross_refs": [
"group/modeling.py",
"modeling.py",
"scripts/cluster/csv_api.py",
"scripts/point_source/simulator.py",
"start_here.py"
],
"notebook": "notebooks/cluster/simulator.ipynb",
"path": "scripts/cluster/simulator.py",
"summary": "This script simulates an example strong lens on the 'cluster' scale: a small cluster consisting of 2 main lens galaxies (a brightest cluster galaxy + a single satellite), 10 lower-mass cluster member galaxies on a luminosity-mass scaling relation, a single host dark matter halo not tied to any individual galaxy, and 2 multiply-imaged background source galaxies sitting at *different* redshifts (``z = 1.0`` and ``z = 2.0``) \u2014 making this a genuine multi-plane lens.",
"title": "Simulator: Cluster"
},
{
"contents": [
"JAX",
"Capabilities",
"Google Colab Setup",
"Imports",
"Dataset",
"Model CSVs",
"Scaling Galaxies Table",
"Point Solver",
"Cluster Components",
"Model",
"Analysis + Factor Graph",
"Search",
"Model Fit",
"Live Visual Update",
"Result",
"Wrap Up"
],
"cross_refs": [
"autolens_workspace/scripts/cluster/modeling.py",
"autolens_workspace/scripts/cluster/simulator.py",
"autolens_workspace/scripts/group/features/scaling_relation/modeling.py",
"autolens_workspace/start_here.py",
"cluster/modeling.py",
"csv_api.py",
"group/start_here.ipynb",
"guides/point_source_pairing.py",
"imaging/start_here.ipynb",
"multi_galaxy/start_here.ipynb",
"prep.py",
"scripts/cluster/csv_api.py",
"scripts/cluster/modeling.py",
"scripts/cluster/simulator.py",
"scripts/group/features/scaling_relation/modeling_for_luminosities.py"
],
"notebook": "notebooks/cluster/start_here.ipynb",
"path": "scripts/cluster/start_here.py",
"summary": "Cluster-scale strong lenses are made of:",
"title": "Start Here: Cluster"
},
{
"contents": [
"Dataset & Paths",
"Main Lens Centres",
"Masking (Search 1)",
"Model (Search 1)",
"Search + Result (Search 1)",
"Masking (Search 2)",
"Model (Search 2)",
"Search + Result (Search 2)",
"Wrap Up."
],
"cross_refs": [
"autolens_workspace/scripts/group/start_here.py",
"autolens_workspace/scripts/imaging/features/advanced/double_source_plane_lens/chaining.py",
"modeling.py",
"slam.py"
],
"notebook": "notebooks/group/features/advanced/double_source_plane_lens/chaining.ipynb",
"path": "scripts/group/features/advanced/double_source_plane_lens/chaining.py",
"summary": "This script chains two non-linear searches to fit `Imaging` data of a group-scale double source-plane lens (DSPL) \u2014 two source galaxies at different redshifts lensed by multiple main lens galaxies at the lens-plane redshift.",
"title": "Chaining: Group DSPL"
},
{
"contents": [
"Prerequisites",
"Dataset, Mask, Over Sampling",
"Main Lens Centres",
"MGE Bases",
"Galaxies",
"Tracer",
"Fit",
"Multi-Plane Ray-Tracing",
"Wrap Up."
],
"cross_refs": [
"autolens_workspace/scripts/group/fit.py",
"autolens_workspace/scripts/imaging/features/advanced/double_source_plane_lens/fit.py",
"chaining.py",
"modeling.py",
"slam.py"
],
"notebook": "notebooks/group/features/advanced/double_source_plane_lens/fit.ipynb",
"path": "scripts/group/features/advanced/double_source_plane_lens/fit.py",
"summary": "A group-scale double source-plane lens (DSPL), where two source galaxies at different redshifts are lensed by multiple main lens galaxies at the lens-plane redshift.",
"title": "Features: Group DSPL Fit"
},
{
"contents": [
"Prerequisites",
"Dataset & Mask",
"Main Lens Centres",
"Galaxies",
"Multi-Plane Ray-Tracing",
"Source-Plane Images",
"Likelihood",
"Fit Check",
"Wrap Up."
],
"cross_refs": [
"autolens_workspace/scripts/imaging/features/advanced/double_source_plane_lens/likelihood_function.py",
"autolens_workspace/scripts/imaging/features/multi_gaussian_expansion/likelihood_function.py",
"autolens_workspace/scripts/imaging/likelihood_function.py",
"imaging/features/multi_gaussian_expansion/likelihood_function.py",
"imaging/likelihood_function.py"
],
"notebook": "notebooks/group/features/advanced/double_source_plane_lens/likelihood_function.ipynb",
"path": "scripts/group/features/advanced/double_source_plane_lens/likelihood_function.py",
"summary": "This script describes the additional steps required to compute the `log_likelihood` for a group-scale double source-plane lens (DSPL) \u2014 two source galaxies at different redshifts lensed by multiple main lens galaxies at the lens-plane redshift.",
"title": "__Log Likelihood Function: Group DSPL__"
},
{
"contents": [
"Model",
"Dataset, Mask, Over Sampling",
"Main Lens Centres",
"Model Composition",
"Cheating",
"Cosmology",
"Search, Analysis, Run-Time, Result, Wrap Up."
],
"cross_refs": [
"autolens_workspace/scripts/group/features/advanced/double_source_plane_lens/chaining.py",
"chaining.py",
"slam.py"
],
"notebook": "notebooks/group/features/advanced/double_source_plane_lens/modeling.ipynb",
"path": "scripts/group/features/advanced/double_source_plane_lens/modeling.py",
"summary": "A group-scale double source-plane lens (DSPL), where two source galaxies at different redshifts are lensed by multiple main lens galaxies at the lens-plane redshift.",
"title": "Modeling Features: Group DSPL"
},
{
"contents": [
"Dataset Paths",
"Grid",
"Galaxy Centres",
"Over Sampling",
"Main Lens Galaxies",
"Source Galaxies",
"Ray Tracing",
"Dataset",
"Tracer JSON",
"Centres JSON"
],
"cross_refs": [
"autolens_workspace/scripts/group/simulator.py",
"autolens_workspace/scripts/imaging/features/advanced/double_source_plane_lens/simulator.py",
"group/simulator.py"
],
"notebook": "notebooks/group/features/advanced/double_source_plane_lens/simulator.ipynb",
"path": "scripts/group/features/advanced/double_source_plane_lens/simulator.py",
"summary": "A double source-plane lens (DSPL) in a group-scale context, where two source galaxies at different redshifts are lensed by multiple main lens galaxies at the lens-plane redshift.",
"title": "Simulator: Group DSPL"
},
{
"contents": [],
"cross_refs": [
"guides/modeling/slam_start_here.py",
"scripts/imaging/features/advanced/double_source_plane_lens/slam.py"
],
"notebook": "notebooks/group/features/advanced/double_source_plane_lens/slam.ipynb",
"path": "scripts/group/features/advanced/double_source_plane_lens/slam.py",
"summary": "This script adapts the SLaM (Source, Light and Mass) pipelines to a group-scale Double Source Plane Lens (DSPL) system, where two source galaxies at different redshifts behind multiple main lens galaxies form a double Einstein ring.",
"title": "SLaM (Source, Light and Mass): Group DSPL"
},
{
"contents": [
"Dataset + Masking",
"Main Lens Centres",
"Paths",
"Model (Search 1)",
"Search 1",
"Model (Search 2)",
"Search 2",
"Wrap Up"
],
"cross_refs": [
"autolens_workspace/scripts/group/start_here.py",
"autolens_workspace/scripts/imaging/features/advanced/mass_stellar_dark/chaining.py",
"slam.py"
],
"notebook": "notebooks/group/features/advanced/mass_stellar_dark/chaining.ipynb",
"path": "scripts/group/features/advanced/mass_stellar_dark/chaining.py",
"summary": "This script chains two searches to fit `Imaging` data of a 'group-scale' strong lens where each main lens galaxy is decomposed into stellar + dark matter components.",
"title": "Chaining: Group Mass Stellar Dark"
},
{
"contents": [
"Prerequisites",
"Dataset & Mask",
"Over Sampling",
"MGE Basis",
"Main Lens Centres",
"Galaxies",
"Tracer",
"Fit",
"Decomposed Deflection (Multi-Galaxy)",
"Intensities",
"Wrap Up"
],
"cross_refs": [
"autolens_workspace/scripts/group/start_here.py",
"autolens_workspace/scripts/imaging/features/advanced/mass_stellar_dark/fit.py",
"autolens_workspace/scripts/imaging/features/multi_gaussian_expansion/fit.py",
"chaining.py",
"modeling.py",
"slam.py"
],
"notebook": "notebooks/group/features/advanced/mass_stellar_dark/fit.ipynb",
"path": "scripts/group/features/advanced/mass_stellar_dark/fit.py",
"summary": "A group-scale strong lens where each main lens galaxy carries a decomposed mass model \u2014 a stellar component tied to its observed light via a mass-to-light ratio, plus a separately-parameterized dark matter halo. The total deflection at every image-plane coordinate is the sum over all main lens galaxies of the per-galaxy stellar + dark contributions, plus a single external shear.",
"title": "Features: Group Mass Stellar Dark Fit"
},
{
"contents": [
"Prerequisites",
"Dataset & Mask",
"Main Lens Centres",
"Galaxies",
"Decomposed Deflection (Multi-Galaxy)",
"Manual Ray-Tracing",
"Source-Plane Image",
"Model Image",
"Fit Check",
"Wrap Up."
],
"cross_refs": [
"autolens_workspace/scripts/group/start_here.py",
"autolens_workspace/scripts/imaging/features/advanced/mass_stellar_dark/likelihood_function.py",
"autolens_workspace/scripts/imaging/features/multi_gaussian_expansion/likelihood_function.py",
"autolens_workspace/scripts/imaging/likelihood_function.py",
"imaging/features/multi_gaussian_expansion/likelihood_function.py",
"imaging/likelihood_function.py"
],
"notebook": "notebooks/group/features/advanced/mass_stellar_dark/likelihood_function.ipynb",
"path": "scripts/group/features/advanced/mass_stellar_dark/likelihood_function.py",
"summary": "This script describes the additional steps required to compute the `log_likelihood` for a group-scale strong lens whose mass model decomposes each main lens galaxy's mass into a stellar component (tied to its light via a mass-to-light ratio) and a separately-parameterized dark matter halo.",
"title": "__Log Likelihood Function: Group Mass Stellar Dark__"
},
{
"contents": [
"Model",
"Dataset & Mask",
"Main Lens Centres",
"Over Sampling",
"Model Cookbook",
"Search",
"Analysis",
"VRAM",
"Run Time",
"Result",
"Wrap Up"
],
"cross_refs": [
"autolens_workspace/scripts/group/features/advanced/mass_stellar_dark/chaining.py",
"autolens_workspace/scripts/group/start_here.py",
"autolens_workspace/scripts/imaging/features/advanced/mass_stellar_dark/modeling.py",
"chaining.py",
"group/start_here.py",
"slam.py",
"start_here.ipynb",
"start_here.py"
],
"notebook": "notebooks/group/features/advanced/mass_stellar_dark/modeling.ipynb",
"path": "scripts/group/features/advanced/mass_stellar_dark/modeling.py",
"summary": "A group-scale strong lens where each main lens galaxy carries a decomposed mass model: a stellar component tied to the galaxy's own light via a mass-to-light ratio, plus a separately-parameterized dark matter halo. The total lens-plane deflection is the sum, over every main lens galaxy, of stellar + dark contributions, plus a single external shear attached to `lens_0` representing the group-wide shear field.",
"title": "Modeling Features: Group Mass Stellar Dark"
},
{
"contents": [
"Dataset Paths",
"Grid",
"Galaxy Centres",
"Over Sampling",
"Main Lens Galaxies",
"Source Galaxy",
"Ray Tracing",
"Dataset",
"Tracer JSON",
"Centres JSON"
],
"cross_refs": [
"autolens_workspace/scripts/group/simulator.py",
"autolens_workspace/scripts/imaging/features/advanced/mass_stellar_dark/simulator.py",
"group/features/advanced/double_source_plane_lens/simulator.py",
"group/simulator.py",
"scripts/group/features/advanced/double_source_plane_lens/slam.py"
],
"notebook": "notebooks/group/features/advanced/mass_stellar_dark/simulator.ipynb",
"path": "scripts/group/features/advanced/mass_stellar_dark/simulator.py",
"summary": "A group-scale strong lens where each main lens galaxy carries a decomposed mass model: a stellar component tied to the galaxy's own light via a mass-to-light ratio, plus a separately-parameterized dark matter halo.",
"title": "Simulator: Group Mass Stellar Dark"
},
{
"contents": [],
"cross_refs": [
"guides/modeling/slam_start_here.py",
"scripts/group/features/advanced/double_source_plane_lens/slam.py",
"scripts/imaging/features/advanced/mass_stellar_dark/slam.py"
],
"notebook": "notebooks/group/features/advanced/mass_stellar_dark/slam.ipynb",
"path": "scripts/group/features/advanced/mass_stellar_dark/slam.py",
"summary": "This script adapts the SLaM (Source, Light and Mass) pipelines to a group-scale strong lens where each main lens galaxy is decomposed into a stellar component (tied to its light via a mass-to-light ratio) and a dark matter halo.",
"title": "SLaM (Source, Light and Mass): Group Mass Stellar Dark"
},
{
"contents": [
"Dataset & Mask",
"Centres",
"Over Sampling",
"Model",
"Search",
"Analysis",
"Result"
],
"cross_refs": [],
"notebook": "notebooks/group/features/advanced/operated_light_profile/modeling.ipynb",
"path": "scripts/group/features/advanced/operated_light_profile/modeling.py",
"summary": "Operated light profiles are light profiles which are assumed to have already been convolved with the PSF. This means that during the model-fitting process, these profiles are NOT convolved again with the PSF, unlike standard light profiles.",
"title": "Modeling Features: Operated Light Profiles (Group)"
},
{
"contents": [
"Dataset Paths",
"Grid",
"Galaxy Centres",
"Over Sampling",
"Main Lens Galaxies",
"Extra Galaxies",
"Source Galaxy",
"Ray Tracing",
"Dataset",
"Centre JSON Files"
],
"cross_refs": [],
"notebook": "notebooks/group/features/advanced/operated_light_profile/simulator.ipynb",
"path": "scripts/group/features/advanced/operated_light_profile/simulator.py",
"summary": "This script simulates a group-scale strong lens where the galaxy light uses operated light profiles. Operated light profiles represent emission that has already been convolved with the PSF, meaning they are NOT convolved again during the simulation.",
"title": "Simulator: Operated Light Profiles (Group)"
},
{
"contents": [
"Dataset & Mask",
"Centres",
"Over Sampling",
"Basis",
"Fit",
"Intensities"
],
"cross_refs": [],
"notebook": "notebooks/group/features/advanced/shapelets/fit.ipynb",
"path": "scripts/group/features/advanced/shapelets/fit.py",
"summary": "A shapelet is a basis function that is appropriate for capturing the exponential / disk-like features of a galaxy. This script demonstrates how to create a fit using shapelet light profiles for a group-scale strong lens, without performing a non-linear search.",
"title": "Fit Features: Shapelets (Group)"
},
{
"contents": [
"Dataset & Mask",
"Centres",
"Over Sampling",
"Model",
"Search",
"Analysis",
"Result"
],
"cross_refs": [],
"notebook": "notebooks/group/features/advanced/shapelets/modeling.ipynb",
"path": "scripts/group/features/advanced/shapelets/modeling.py",
"summary": "A shapelet is a basis function that is appropriate for capturing the exponential / disk-like features of a galaxy. It has been employed in many strong lensing studies to model the light of lensed source galaxies, because it can represent features of disky star forming galaxies that a single Sersic function cannot.",
"title": "Modeling Features: Shapelets (Group)"
},
{
"contents": [
"Dataset & Mask",
"Centres",
"Over Sampling",
"Fit"
],
"cross_refs": [],
"notebook": "notebooks/group/features/advanced/sky_background/fit.ipynb",
"path": "scripts/group/features/advanced/sky_background/fit.py",
"summary": "The background of an image is the light that is not associated with the strong lens we are interested in. This script demonstrates how to include the sky background in a fit for a group-scale strong lens, without performing a non-linear search.",
"title": "Fit Features: Sky Background (Group)"
},
{
"contents": [
"Dataset & Mask",
"Centres",
"Over Sampling",
"Model",
"Search",
"Analysis",
"Result"
],
"cross_refs": [],
"notebook": "notebooks/group/features/advanced/sky_background/modeling.ipynb",
"path": "scripts/group/features/advanced/sky_background/modeling.py",
"summary": "The background of an image is the light that is not associated with the strong lens we are interested in. This is due to light from the sky, zodiacal light, and light from other galaxies in the field of view.",
"title": "Modeling Features: Sky Background (Group)"
},
{
"contents": [
"Dataset Paths",
"Grid",
"Galaxy Centres",
"Over Sampling",
"Main Lens Galaxies",
"Extra Galaxies",
"Source Galaxy",
"Ray Tracing",
"Dataset",
"Centre JSON Files"
],
"cross_refs": [
"group/features/advanced/sky_background/modeling.py"
],
"notebook": "notebooks/group/features/advanced/sky_background/simulator.ipynb",
"path": "scripts/group/features/advanced/sky_background/simulator.py",
"summary": "This script simulates a group-scale strong lens dataset where the sky background is NOT subtracted from the image. The sky background is therefore present in the data and must be accounted for during model-fitting.",
"title": "Simulator: Sky Background (Group)"
},
{
"contents": [
"SLaM Pipelines",
"Grid Search",
"Group Adaptation",
"Dataset & Mask",
"Centres",
"Over Sampling",
"SLaM Pipeline Functions",
"Bayesian Evidence",
"Grid Search Result"
],
"cross_refs": [],
"notebook": "notebooks/group/features/advanced/subhalo/detect/start_here.ipynb",
"path": "scripts/group/features/advanced/subhalo/detect/start_here.py",
"summary": "Strong gravitational lenses can be used to detect the presence of small-scale dark matter (DM) subhalos. This occurs when the DM subhalo overlaps the lensed source emission, and therefore gravitationally perturbs the observed image of the lensed source galaxy.",
"title": "Subhalo Detection: Group"
},
{
"contents": [
"Dataset Paths",
"Grid",
"Galaxy Centres",
"Over Sampling",
"Main Lens Galaxies",
"Extra Galaxies",
"Source Galaxy",
"Ray Tracing",
"Dataset",
"Centre JSON Files",
"Subhalo Difference Image"
],
"cross_refs": [],
"notebook": "notebooks/group/features/advanced/subhalo/simulator.ipynb",
"path": "scripts/group/features/advanced/subhalo/simulator.py",
"summary": "If a low mass dark matter halo overlaps the lensed source emission, it perturbs it in a unique and observable way.",
"title": "Simulator: Subhalo (Group)"
},
{
"contents": [
"Dataset",
"Model A",
"Model B",
"Fits",
"Model Comparison",
"Wrap Up"
],
"cross_refs": [
"cluster/mass_parameterizations.py",
"cluster/start_here.py",
"group/modeling.py",
"simulator.py"
],
"notebook": "notebooks/group/features/group_halo/modeling.ipynb",
"path": "scripts/group/features/group_halo/modeling.py",
"summary": "**Whether a group-scale lens model includes a separate dark-matter halo for the group is a modelling choice, not an assumption.** Some groups genuinely require one; others are adequately described by their member galaxies alone. This tutorial \u2014 the signature example of the group regime \u2014 fits the SAME dataset with both compositions and walks through how to decide between them:",
"title": "Modeling Features (Group): The Group Halo \u2014 An Explicit Choice"
},
{
"contents": [
"Dataset Paths",
"Simulation Switch",
"Grid / PSF / Simulator",
"Group Halo",
"BGG + Members",
"Source Galaxy / Ray Tracing / Dataset",
"Tracer json + Centres"
],
"cross_refs": [
"cluster/mass_parameterizations.py",
"group/modeling.py",
"group/start_here.py",
"modeling.py"
],
"notebook": "notebooks/group/features/group_halo/simulator.ipynb",
"path": "scripts/group/features/group_halo/simulator.py",
"summary": "This script simulates the `Imaging` dataset fitted by the `group_halo` feature tutorial: a group-scale lens with a genuine **group-scale dark matter halo**, a brightest group galaxy (BGG) and two tidally truncated member galaxies, lensing a single extended background source.",
"title": "Simulator: Group Halo"
},
{
"contents": [
"Dataset & Mask",
"Galaxy Centres",
"Over Sampling",
"Fitting",
"Intensities",
"Visualization"
],
"cross_refs": [],
"notebook": "notebooks/group/features/linear_light_profiles/fit.ipynb",
"path": "scripts/group/features/linear_light_profiles/fit.py",
"summary": "This script shows how to fit data using the ``FitImaging`` object for group-scale strong lenses when using **linear light profiles**, where the ``intensity`` of every light profile is solved via linear algebra rather than being specified as a parameter.",
"title": "Fit Features: Linear Light Profiles (Group)"
},
{
"contents": [
"Dataset & Mask",
"Over Sampling",
"Linear Light Profiles",
"Lens Galaxy Mass",
"Ray Tracing",
"Linear Inversion",
"Fit",
"Likelihood Function"
],
"cross_refs": [
"group/likelihood_function.py",
"imaging/features/linear_light_profiles/likelihood_function.py"
],
"notebook": "notebooks/group/features/linear_light_profiles/likelihood_function.ipynb",
"path": "scripts/group/features/linear_light_profiles/likelihood_function.py",
"summary": "This script provides a step-by-step guide of the ``log_likelihood_function`` which is used to fit ``Imaging`` data of a group-scale strong lens using **linear light profiles**.",
"title": "__Log Likelihood Function: Linear Light Profiles (Group)__"
},
{
"contents": [
"Advantages",
"Dataset & Mask",
"Centres",
"Over Sampling",
"Model",
"Search",
"Analysis",
"Result",
"Intensities"
],
"cross_refs": [],
"notebook": "notebooks/group/features/linear_light_profiles/modeling.ipynb",
"path": "scripts/group/features/linear_light_profiles/modeling.py",
"summary": "This script fits a group-scale strong lens using **linear light profiles**, where the ``intensity`` of every light profile is solved analytically via linear algebra rather than being a free parameter in the non-linear search.",
"title": "Modeling Features: Linear Light Profiles (Group)"
},
{
"contents": [
"Prerequisites",
"SOURCE LP PIPELINE 0",
"SOURCE LP PIPELINE 1",
"SOURCE PIX PIPELINE 1",
"SOURCE PIX PIPELINE 2",
"LIGHT LP PIPELINE",
"MASS TOTAL PIPELINE",
"Dataset",
"Galaxy Centres",
"Mask",
"Settings AutoFit",
"SLaM Pipeline"
],
"cross_refs": [
"group/slam.py"
],
"notebook": "notebooks/group/features/linear_light_profiles/slam.ipynb",
"path": "scripts/group/features/linear_light_profiles/slam.py",
"summary": "This script uses the SLaM pipelines to fit a group-scale strong lens using **linear Sersic light profiles** instead of Multi-Gaussian Expansion (MGE) profiles for the galaxy light.",
"title": "Linear Light Profiles: Group SLaM"
},
{
"contents": [
"Loading Data",
"Mask",
"Galaxy Centres",
"Over Sampling",
"Fitting",
"Bad Fit",
"Fit Quantities",
"Figures of Merit",
"MGE In Practice"
],
"cross_refs": [
"modeling.py"
],
"notebook": "notebooks/group/features/multi_gaussian_expansion/fit.ipynb",
"path": "scripts/group/features/multi_gaussian_expansion/fit.py",
"summary": "This guide shows how to fit data using the `FitImaging` object for group-scale strong lenses, including visualizing and interpreting its results.",
"title": "Fit Features: Multi Gaussian Expansion (Group)"
},
{
"contents": [
"Dataset & Mask",
"Over Sampling",
"Main Lens Galaxy",
"Extra Galaxies",
"Source Galaxy",
"Lens Light",
"Lens Galaxy Mass",
"Ray Tracing",
"Source Image",
"Convolution",
"Likelihood Function",
"MGE Likelihood",
"Fit"
],
"cross_refs": [],
"notebook": "notebooks/group/features/multi_gaussian_expansion/likelihood_function.ipynb",
"path": "scripts/group/features/multi_gaussian_expansion/likelihood_function.py",
"summary": "This script provides a step-by-step guide of the `log_likelihood_function` which is used to fit `Imaging` data of a group-scale strong lens, with a focus on how Multi Gaussian Expansion (MGE) light profiles fit into the likelihood calculation.",
"title": "__Log Likelihood Function: Multi Gaussian Expansion (Group)__"
},
{
"contents": [
"MGE Advantages for Group Lenses",
"Model",
"Dataset & Mask",
"Over Sampling",
"Search",
"Analysis",
"Run Times",
"Result"
],
"cross_refs": [
"/group/simulator.py"
],
"notebook": "notebooks/group/features/multi_gaussian_expansion/modeling.ipynb",
"path": "scripts/group/features/multi_gaussian_expansion/modeling.py",
"summary": "A Multi Gaussian Expansion (MGE) decomposes the light of each galaxy into ~10-30+ Gaussians, where the `intensity` of every Gaussian is solved for via linear algebra using a process called an \"inversion\" (see the `linear_light_profiles` feature for a full description of this).",
"title": "Modeling Features: Multi Gaussian Expansion (Group)"
},
{
"contents": [
"Dataset Paths",
"Grid",
"Galaxy Centres",
"Over Sampling",
"Main Lens Galaxies",
"Extra Galaxies",
"Source Galaxy",
"Ray Tracing",
"Output"
],
"cross_refs": [],
"notebook": "notebooks/group/features/multi_gaussian_expansion/simulator.ipynb",
"path": "scripts/group/features/multi_gaussian_expansion/simulator.py",
"summary": "This script simulates an example strong lens on the 'group' scale, where there is a single primary lens galaxy and two smaller extra galaxies nearby, whose mass contributes significantly to the ray-tracing and is therefore included in the strong lens model.",
"title": "Simulator: Multi Gaussian Expansion (Group)"
},
{
"contents": [
"Prerequisites",
"This Script",
"SOURCE LP PIPELINE",
"LIGHT LP PIPELINE",
"MASS TOTAL PIPELINE",
"Dataset",
"Settings AutoFit",
"SLaM Pipeline"
],
"cross_refs": [
"group/slam.py"
],
"notebook": "notebooks/group/features/multi_gaussian_expansion/slam.ipynb",
"path": "scripts/group/features/multi_gaussian_expansion/slam.py",
"summary": "This script provides an example of the Source, (Lens) Light, and Mass (SLaM) pipelines for fitting a group-scale strong lens where all light profiles use Multi Gaussian Expansion (MGE) models.",
"title": "Multi Gaussian Expansion: Group SLaM"
},
{
"contents": [
"Simulated Dataset",
"Mask",
"Source Values",
"MGE Source",
"Source Flux",
"Source Magnification",
"Impact of Extra Galaxies",
"Tracer"
],
"cross_refs": [],
"notebook": "notebooks/group/features/multi_gaussian_expansion/source_science.ipynb",
"path": "scripts/group/features/multi_gaussian_expansion/source_science.py",
"summary": "Source science focuses on studying the highly magnified properties of the background lensed source galaxy.",
"title": "Source Science: Multi Gaussian Expansion (Group)"
},
{
"contents": [
"Advantages",
"Dataset & Mask",
"Centres",
"Model",
"Over Sampling",
"Search",
"Analysis",
"Result"
],
"cross_refs": [
"group/modeling.py",
"imaging/features/no_lens_light/modeling.py"
],
"notebook": "notebooks/group/features/no_lens_light/modeling.ipynb",
"path": "scripts/group/features/no_lens_light/modeling.py",
"summary": "This script models a group-scale strong lens where none of the lens galaxies have visible light emission. In the group context, \"no lens light\" means that **all** main lens galaxies **and** all extra galaxies are modeled with mass profiles only \u2014 no light profiles at all. Only the source galaxy has light.",
"title": "Modeling Features: No Lens Light (Group)"
},
{
"contents": [
"Dataset Paths",
"Grid",
"Galaxy Centres",
"Over Sampling",
"Main Lens Galaxies",
"Extra Galaxies",
"Source Galaxy",
"Ray Tracing",
"Dataset",
"Visualize",
"Tracer json",
"Centre JSON Files",
"Positions"
],
"cross_refs": [
"imaging/features/no_lens_light/simulator.py"
],
"notebook": "notebooks/group/features/no_lens_light/simulator.ipynb",
"path": "scripts/group/features/no_lens_light/simulator.py",
"summary": "This script simulates `Imaging` of a 'group-scale' strong lens where none of the lens galaxies have visible light emission \u2014 only their mass profiles contribute to the ray-tracing. The source galaxy still has light.",
"title": "Simulator: No Lens Light (Group)"
},
{
"contents": [
"Prerequisites",
"This Script",
"SOURCE LP PIPELINE",
"SOURCE PIX PIPELINE 1",
"SOURCE PIX PIPELINE 2",
"MASS TOTAL PIPELINE",
"Dataset",
"Galaxy Centres",
"Mask",
"Settings AutoFit",
"SLaM Pipeline"
],
"cross_refs": [