-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathworkspace_index.json
More file actions
577 lines (577 loc) · 21.4 KB
/
Copy pathworkspace_index.json
File metadata and controls
577 lines (577 loc) · 21.4 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
[
{
"contents": [
"Directories",
"Dataset",
"Plot Customization",
"Subplots",
"Visuals",
"Wrap Up"
],
"cross_refs": [],
"notebook": "notebooks/chapter_1_introduction/tutorial_0_visualization.ipynb",
"path": "scripts/chapter_1_introduction/tutorial_0_visualization.py",
"summary": "In this tutorial, we quickly cover visualization in **PyAutoGalaxy** and make sure images display clearly in your Jupyter notebook and on your computer screen.",
"title": "Tutorial 0: Visualization"
},
{
"contents": [
"Grids",
"Geometry",
"Light Profiles",
"One Dimension Projection",
"Galaxies",
"Unit Conversion",
"Wrap Up"
],
"cross_refs": [
"/guides/advanced/over_sampling.ipynb"
],
"notebook": "notebooks/chapter_1_introduction/tutorial_1_grids_and_galaxies.ipynb",
"path": "scripts/chapter_1_introduction/tutorial_1_grids_and_galaxies.py",
"summary": "Nearly a century ago, Edwin Hubble famously classified galaxies into three distinct groups: ellipticals, spirals and irregulars. He produced a diagram of these galaxies, called the Hubble Tuning Fork, which is shown below and still discussed by astronomers in the modern day:",
"title": "HowToGalaxy: Introduction"
},
{
"contents": [
"Initial Setup",
"Optics Blurring",
"Poisson Noise",
"Background Sky",
"Simulator",
"Output",
"Interferometer Data",
"Wrap Up"
],
"cross_refs": [
"scripts/simulators/interferometer.py"
],
"notebook": "notebooks/chapter_1_introduction/tutorial_2_data.ipynb",
"path": "scripts/chapter_1_introduction/tutorial_2_data.py",
"summary": "In the previous tutorial, we used light profiles to create images of galaxies. However, those images don't accurately represent what we would observe through a telescope.",
"title": "Tutorial 2: Data"
},
{
"contents": [
"Dataset",
"Mask",
"Masked Grid",
"Fitting",
"Incorrect Fit",
"Model Fitting",
"Wrap Up"
],
"cross_refs": [
"tutorial_2_data.py"
],
"notebook": "notebooks/chapter_1_introduction/tutorial_3_fitting.ipynb",
"path": "scripts/chapter_1_introduction/tutorial_3_fitting.py",
"summary": "In previous tutorials, we used light profiles to create simulated images of galaxies and visualized how these images would appear when captured by a CCD detector on a telescope like the Hubble Space Telescope.",
"title": "Tutorial 3: Fitting"
},
{
"contents": [
"Wrap Up"
],
"cross_refs": [],
"notebook": "notebooks/chapter_1_introduction/tutorial_4_methods.ipynb",
"path": "scripts/chapter_1_introduction/tutorial_4_methods.py",
"summary": "This tutorial is not written yet, but will explain in more detail the different methods used to fit and analyse galaxies.",
"title": "Tutorial 4: Methods"
},
{
"contents": [
"Initial Setup",
"Object Composition",
"Visualization",
"Code Design",
"Source Code",
"Wrap Up"
],
"cross_refs": [],
"notebook": "notebooks/chapter_1_introduction/tutorial_5_summary.ipynb",
"path": "scripts/chapter_1_introduction/tutorial_5_summary.py",
"summary": "In this chapter, we have learnt that:",
"title": "Tutorial 5: Summary"
},
{
"contents": [
"Initial Setup",
"Dataset Auto-Simulation",
"Model",
"Search",
"Result (Search 1)",
"Prior Passing",
"Result",
"Wrap Up",
"Detailed Explanation Of Prior Passing",
"EXAMPLE"
],
"cross_refs": [
"autogalaxy_workspace/scripts/guides/modeling/chaining.py"
],
"notebook": "notebooks/chapter_2_modeling/tutorial_10_prior_passing.ipynb",
"path": "scripts/chapter_2_modeling/tutorial_10_prior_passing.py",
"summary": "In the previous tutorial, we used non-linear search chaining to break the model-fitting procedure down into two non-linear searches. This used an initial search to fit a simple model, whose results were used to tune and initialize the priors of a more complex model that was fitted by the second search.",
"title": "Tutorial 10: Prior Passing"
},
{
"contents": [
"Parameter Space",
"Non-Linear Search",
"Search Types",
"Deeper Background",
"Data",
"Model",
"Priors",
"Analysis",
"Searches",
"Maximum Likelihood Estimation (MLE)",
"Markov Chain Monte Carlo (MCMC)",
"Nested Sampling",
"Result",
"Samples",
"Customizing Searches",
"Wrap Up"
],
"cross_refs": [
"/imaging/likelihood_function.ipynb"
],
"notebook": "notebooks/chapter_2_modeling/tutorial_1_non_linear_search.ipynb",
"path": "scripts/chapter_2_modeling/tutorial_1_non_linear_search.py",
"summary": "The starting point for most scientific analysis conducted by an Astronomer is that they have observations of a galaxy using a telescope like the Hubble Space Telescope, and seek to learn about the galaxy and the Universe from these observations. With **PyAutoGalaxy**, we seek to learn about the galaxy's structure and morphology, asking questions like how big is the galaxy, is it disky or bulgy, and how is its light distributed?",
"title": "Tutorial 1: Non-linear Search"
},
{
"contents": [],
"cross_refs": [
"/guides/advanced/over_sampling.ipynb",
"scripts/chapter_2_modeling/tutorial_2_practicalities.py"
],
"notebook": "notebooks/chapter_2_modeling/tutorial_2_practicalities.ipynb",
"path": "scripts/chapter_2_modeling/tutorial_2_practicalities.py",
"summary": "In the last tutorial, we introduced foundational statistical concepts essential for model-fitting, such as parameter spaces, likelihoods, priors, and non-linear searches. Understanding these statistical concepts is crucial for performing model fits effectively.",
"title": "Tutorial 2: Practicalities"
},
{
"contents": [
"Initial Setup",
"Model + Search + Analysis",
"Result",
"Global and Local Maxima",
"Wrap Up"
],
"cross_refs": [
"/guides/advanced/over_sampling.ipynb"
],
"notebook": "notebooks/chapter_2_modeling/tutorial_3_realism_and_complexity.ipynb",
"path": "scripts/chapter_2_modeling/tutorial_3_realism_and_complexity.py",
"summary": "In the previous two tutorials, we fitted a fairly basic model: the galaxy's light was a single bulge component. In real observations we know that galaxies are observed to have multiple different morphological structures.",
"title": "Tutorial 3: Realism and Complexity"
},
{
"contents": [
"Initial Setup",
"Approach 1: Prior Tuning",
"Approach 2: Reducing Complexity",
"Approach 3: Look Harder"
],
"cross_refs": [
"/guides/advanced/over_sampling.ipynb",
"HowToGalaxy/chapter_optional/tutorial_searches.ipynb"
],
"notebook": "notebooks/chapter_2_modeling/tutorial_4_dealing_with_failure.ipynb",
"path": "scripts/chapter_2_modeling/tutorial_4_dealing_with_failure.py",
"summary": "In the previous tutorial we intentionally made our non-linear search infer a local maxima solution and therefore return a physically incorrect model. In this tutorial, we will pretend that we have modeled our galaxy and inferred a local maxima. We introduce three approaches one can take that changes how we fit the model, all of which have the aim of ensuring we infer the global maxima:",
"title": "Tutorial 4: Dealing With Failure"
},
{
"contents": [
"Initial Setup",
"Linear Light Profiles",
"Run Time",
"Result",
"Intensities",
"Visualization",
"Basis",
"Model Fit",
"Disk MGE",
"Multi Gaussian Expansion Benefits",
"Positive Only Solver",
"Other Basis Functions",
"Wrap Up"
],
"cross_refs": [
"/guides/advanced/over_sampling.ipynb",
"autogalaxy_workspace/scripts/imaging/features/shapelets/modeling.py"
],
"notebook": "notebooks/chapter_2_modeling/tutorial_5_linear_profiles.ipynb",
"path": "scripts/chapter_2_modeling/tutorial_5_linear_profiles.py",
"summary": "In the previous tutorial we learned how to balance model complexity with our non-linear search in order to infer accurate model solutions and avoid failure. We saw how in order to fit a model accurately one may have to parameterize and fit a simpler model with fewer non-linear parameters, at the expense of fitting the data less accurately.",
"title": "Tutorial 5: Linear Profiles"
},
{
"contents": [
"Initial Setup",
"Mask",
"Model + Search + Analysis",
"Discussion",
"Wrap Up"
],
"cross_refs": [
"/guides/advanced/over_sampling.ipynb"
],
"notebook": "notebooks/chapter_2_modeling/tutorial_6_masking.ipynb",
"path": "scripts/chapter_2_modeling/tutorial_6_masking.py",
"summary": "We have learnt everything we need to know about non-linear searches to model a galaxy and infer a good model solution. Now, lets consider masking in more detail, something we have not given much consideration previously. We'll also learn a neat trick to improve the speed and accuracy of a non-linear search.",
"title": "Tutorial 6: Masking"
},
{
"contents": [
"Initial Setup",
"Galaxies & Fit",
"Samples",
"Workspace",
"Database",
"Wrap Up"
],
"cross_refs": [],
"notebook": "notebooks/chapter_2_modeling/tutorial_7_results.ipynb",
"path": "scripts/chapter_2_modeling/tutorial_7_results.py",
"summary": "In the previous tutorials, each search returned a `Result` object, which we used to plot the maximum log likelihood fit of each model-fit. In this tutorial, we'll take a look at the result object in a little more detail.",
"title": "Tutorial 7: Results"
},
{
"contents": [
"Searching Non-linear Parameter Space",
"Cost Per Evaluation",
"JAX",
"Run Time Estimation",
"Data Quantity",
"Wrap Up"
],
"cross_refs": [
"chapter_optional/tutorial_searches.py"
],
"notebook": "notebooks/chapter_2_modeling/tutorial_8_need_for_speed.ipynb",
"path": "scripts/chapter_2_modeling/tutorial_8_need_for_speed.py",
"summary": "In this chapter, we have learnt how to model galaxies and how to balance complexity and realism to ensure that we infer a good model.",
"title": "Tutorial 8: Need For Speed"
},
{
"contents": [
"Initial Setup",
"Dataset Auto-Simulation",
"Model",
"Search + Analysis",
"Result",
"Prior Passing",
"Result",
"Wrap Up"
],
"cross_refs": [],
"notebook": "notebooks/chapter_2_modeling/tutorial_9_search_chaining.ipynb",
"path": "scripts/chapter_2_modeling/tutorial_9_search_chaining.py",
"summary": "Throughout this chapter, we have fitted the data using just one non-linear search. The previous tutorial discussed the run-time cost of doing this: with a single search, the dimensionality of the model, the priors on its parameters and the search settings must all be juggled at once, leaving us little flexibility to trade them off against one another.",
"title": "Tutorial 9: Search Chaining"
},
{
"contents": [
"Initial Setup",
"Mesh",
"Wrap Up"
],
"cross_refs": [],
"notebook": "notebooks/chapter_3_pixelizations/tutorial_1_pixelizations.ipynb",
"path": "scripts/chapter_3_pixelizations/tutorial_1_pixelizations.py",
"summary": "In the previous chapters, we used light profiles to model the light of a galaxy, where the light profile was an analytic description of how the luminosity varies as a function of radius.",
"title": "Tutorial 1: Pixelizations"
},
{
"contents": [
"Initial Setup",
"Dataset Auto-Simulation",
"Mappers",
"Mask",
"Wrap Up"
],
"cross_refs": [],
"notebook": "notebooks/chapter_3_pixelizations/tutorial_2_mappers.ipynb",
"path": "scripts/chapter_3_pixelizations/tutorial_2_mappers.py",
"summary": "In the previous tutorial, we used a pixelization to create a `Mapper`. However, it was not clear what a `Mapper` does, why it was called a mapper and whether it was mapping anything at all!",
"title": "Tutorial 2: Mappers"
},
{
"contents": [
"Initial Setup",
"Dataset Auto-Simulation",
"Pixelization",
"Positive Only Solver",
"Detailed Explanation",
"Wrap Up"
],
"cross_refs": [
"/imaging/features/pixelization/likelihood_function.ipynb"
],
"notebook": "notebooks/chapter_3_pixelizations/tutorial_3_inversions.ipynb",
"path": "scripts/chapter_3_pixelizations/tutorial_3_inversions.py",
"summary": "In the previous two tutorials, we introduced:",
"title": "Tutorial 3: Inversions"
},
{
"contents": [
"Initial Setup",
"Dataset Auto-Simulation",
"Convenience Function",
"Pixelization",
"Regularization",
"Bayesian Evidence",
"Non-Linear and Linear",
"Detailed Description",
"Wrap Up"
],
"cross_refs": [],
"notebook": "notebooks/chapter_3_pixelizations/tutorial_4_bayesian_regularization.ipynb",
"path": "scripts/chapter_3_pixelizations/tutorial_4_bayesian_regularization.py",
"summary": "So far, we have:",
"title": "Tutorial 4: Bayesian Regularization"
},
{
"contents": [
"Initial Setup",
"Dataset Auto-Simulation",
"Mask",
"Over Sampling",
"Mesh Shape",
"Galaxy",
"Image Grid",
"Mesh Pixel Centres",
"Interpolation",
"Mapper",
"Mapping Matrix",
"Blurred Mapping Matrix",
"Data Vector (D)",
"Curvature Matrix (F)",
"Unregularized Solve",
"Regularization Matrix (H)",
"Galaxy Reconstruction (s)",
"Image Reconstruction",
"Likelihood Function",
"Chi Squared",
"Regularization Term",
"Complexity Terms",
"Noise Normalization Term",
"Log Evidence",
"Fit",
"Wrap Up"
],
"cross_refs": [
"/imaging/features/pixelization/likelihood_function.ipynb"
],
"notebook": "notebooks/chapter_3_pixelizations/tutorial_5_bayesian_formalism.ipynb",
"path": "scripts/chapter_3_pixelizations/tutorial_5_bayesian_formalism.py",
"summary": "In tutorials 1 to 4, we built an intuition for how pixelized galaxy reconstruction works: pixelizations place a pixel-grid over the galaxy's image, mappers pair pixelization pixels with image-pixels, inversions solve for the pixel fluxes that best fit the data, and regularization smooths the solution within a Bayesian framework.",
"title": "Tutorial 5: Bayesian Formalism"
},
{
"contents": [
"Initial Setup",
"Dataset Auto-Simulation",
"Model + Search + Analysis + Model-Fit (Search 1)",
"Mesh Shape",
"Model + Search + Analysis + Model-Fit (Search 2)",
"Model + Search (Search 3)",
"Wrap Up"
],
"cross_refs": [],
"notebook": "notebooks/chapter_3_pixelizations/tutorial_6_model_fit.ipynb",
"path": "scripts/chapter_3_pixelizations/tutorial_6_model_fit.py",
"summary": "In the previous tutorials we used an inversion to reconstruct a complex galaxy. However, from the perspective of a scientific analysis, it is not clear how useful this was. When we fit a galaxy with light profiles, we learn about its brightness (`intensity`), size (`effective_radius`), compactness (`sersic_index`), etc.",
"title": "Tutorial 6: Model Fit"
},
{
"contents": [
"Initial Setup",
"Dataset Auto-Simulation",
"The Decision",
"Mask",
"Approach 1 Noise Scaling",
"Noise Scaling Fit",
"Approach 2 Extra Galaxies Model",
"Extra Galaxy Centres",
"Extra Galaxies Model Composition",
"Extra Galaxies Fit",
"Which Approach When",
"Wrap Up"
],
"cross_refs": [
"/imaging/features/extra_galaxies/modeling.py"
],
"notebook": "notebooks/chapter_4_scaling_up_galaxies/tutorial_1_extra_galaxies.ipynb",
"path": "scripts/chapter_4_scaling_up_galaxies/tutorial_1_extra_galaxies.py",
"summary": "Welcome to chapter 4 of **HowToGalaxy**, where we scale up galaxy modeling beyond a single galaxy.",
"title": "Tutorial 1: Extra Galaxies"
},
{
"contents": [
"Initial Setup",
"Dataset Auto-Simulation",
"Mask",
"Over Sampling",
"Why Not Fit Them Separately?",
"Model",
"Fixing the Centres",
"Model Fit",
"Result",
"Light Decomposition Degeneracy",
"Wrap Up"
],
"cross_refs": [],
"notebook": "notebooks/chapter_4_scaling_up_galaxies/tutorial_2_multi_galaxy.ipynb",
"path": "scripts/chapter_4_scaling_up_galaxies/tutorial_2_multi_galaxy.py",
"summary": "In the previous tutorial, we learned how to deal with extra galaxies near the galaxy we care about \u2014 nuisance objects whose light contaminates the data but which are not themselves the subject of our study. We removed their emission from the analysis, or gave them a heavily restricted model, and the single galaxy we were studying remained the star of the show.",
"title": "Tutorial 2: Multi-Galaxy Blends"
},
{
"contents": [
"The Scaling Problem",
"Dataset",
"Dataset Auto-Simulation",
"Member Catalogue",
"Masking",
"Model",
"Search + Analysis",
"Model Fit",
"Result",
"Per-Member Results",
"Refinements",
"Wrap Up"
],
"cross_refs": [
"/cluster/modeling.py"
],
"notebook": "notebooks/chapter_4_scaling_up_galaxies/tutorial_3_cluster.ipynb",
"path": "scripts/chapter_4_scaling_up_galaxies/tutorial_3_cluster.py",
"summary": "Throughout this chapter we have been scaling up: from a single galaxy with extra galaxies nearby, to blended multi-galaxy systems where every galaxy received its own free light model.",
"title": "Tutorial 3: Cluster"
},
{
"contents": [
"Nested Sampling",
"Optimizers",
"MCMC"
],
"cross_refs": [],
"notebook": "notebooks/chapter_optional/tutorial_searches.ipynb",
"path": "scripts/chapter_optional/tutorial_searches.py",
"summary": "Up to now, we've always used the non-linear search Nautilus and not considered the input parameters that control its sampling. In this tutorial, we'll consider how we can change these setting to balance finding the global maxima solution with fast run time.",
"title": "Tutorial: Alternative Searches"
},
{
"contents": [
"Dataset Paths",
"Grid",
"Galaxies",
"Output",
"Member Catalogue CSV",
"Visualize",
"Plane Output"
],
"cross_refs": [
"simulators/simple.ipynb"
],
"notebook": "notebooks/simulators/cluster.ipynb",
"path": "scripts/simulators/cluster.py",
"summary": "This script simulates `Imaging` of a cluster field: a brightest cluster galaxy (BCG) surrounded by ten lower-luminosity member galaxies. It is used in chapter 4 of the **HowToGalaxy** lectures, where the member population is modeled via a **catalogue**: a CSV of member centres and luminosities whose photometry pins the faint galaxies while only a shared normalization stays free.",
"title": "Simulator: Cluster"
},
{
"contents": [
"Dataset Paths",
"Grid",
"Galaxies",
"Output",
"Visualize",
"Mask Extra Galaxies",
"Plane Output",
"Extra Galaxies Centres"
],
"cross_refs": [
"simulators/simple.ipynb"
],
"notebook": "notebooks/simulators/extra_galaxy.ipynb",
"path": "scripts/simulators/extra_galaxy.py",
"summary": "This script simulates `Imaging` of a galaxy using light profiles where:",
"title": "Simulator: Extra Galaxy"
},
{
"contents": [
"Dataset Paths",
"Simulate",
"Galaxies",
"Output",
"Visualize",
"Plane Output"
],
"cross_refs": [
"/interferometer/simulator.ipynb"
],
"notebook": "notebooks/simulators/interferometer.ipynb",
"path": "scripts/simulators/interferometer.py",
"summary": "This script simulates `Interferometer` data of a galaxy, as would be observed by a radio or sub-mm interferometer like ALMA or the JVLA, where:",
"title": "Simulator: Interferometer"
},
{
"contents": [
"Dataset Paths",
"Grid",
"Galaxies",
"Output",
"Visualize",
"Plane Output"
],
"cross_refs": [
"simulators/simple.ipynb"
],
"notebook": "notebooks/simulators/sersic.ipynb",
"path": "scripts/simulators/sersic.py",
"summary": "This script simulates `Imaging` of a galaxy using light profiles where:",
"title": "Simulator: Sersic"
},
{
"contents": [
"Dataset Paths",
"Grid",
"Galaxies",
"Output",
"Visualize",
"Plane Output"
],
"cross_refs": [
"simulators/simple.ipynb"
],
"notebook": "notebooks/simulators/sersic_x2.ipynb",
"path": "scripts/simulators/sersic_x2.py",
"summary": "This script simulates `Imaging` of two galaxies where:",
"title": "Simulator: Sersic x2"
},
{
"contents": [
"Dataset Paths",
"Grid",
"Over Sampling",
"Galaxies",
"Output",
"Visualize",
"Plane Output"
],
"cross_refs": [
"/guides/advanced/over_sampling.ipynb",
"autogalaxy_workspace/scripts/guides/data_structures.py"
],
"notebook": "notebooks/simulators/simple.ipynb",
"path": "scripts/simulators/simple.py",
"summary": "This script simulates `Imaging` of a galaxy using light profiles where:",
"title": "Simulator: Sersic + Exp"
}
]