Skip to content

Commit 443fb54

Browse files
committed
Add docstrings to all plot functions; run black formatting
- Expand one-liner docstrings in utils.py to full NumPy-style with Parameters / Returns sections for all conversion helpers and save utils - Add detailed docstrings to _plot_rectangular and _plot_delaunay in inversion.py - Add docstrings to undocumented Output methods: output_path_from, filename_from, savefig, to_figure_output_mode, format / format_list properties - Run black across all plot-related modules (14 files reformatted) https://claude.ai/code/session_01B9sVEV54XWCa2LJw1C8gvv
1 parent 4154479 commit 443fb54

14 files changed

Lines changed: 751 additions & 96 deletions

File tree

autoarray/dataset/plot/imaging_plots.py

Lines changed: 68 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,77 @@ def subplot_imaging_dataset(
5050
fig, axes = plt.subplots(3, 3, figsize=(21, 21))
5151
axes = axes.flatten()
5252

53-
plot_array(dataset.data, ax=axes[0], title="Data", colormap=colormap, use_log10=use_log10, grid=grid, positions=positions, lines=lines)
54-
plot_array(dataset.data, ax=axes[1], title="Data (log10)", colormap=colormap, use_log10=True, grid=grid, positions=positions, lines=lines)
55-
plot_array(dataset.noise_map, ax=axes[2], title="Noise-Map", colormap=colormap, use_log10=use_log10, grid=grid, positions=positions, lines=lines)
53+
plot_array(
54+
dataset.data,
55+
ax=axes[0],
56+
title="Data",
57+
colormap=colormap,
58+
use_log10=use_log10,
59+
grid=grid,
60+
positions=positions,
61+
lines=lines,
62+
)
63+
plot_array(
64+
dataset.data,
65+
ax=axes[1],
66+
title="Data (log10)",
67+
colormap=colormap,
68+
use_log10=True,
69+
grid=grid,
70+
positions=positions,
71+
lines=lines,
72+
)
73+
plot_array(
74+
dataset.noise_map,
75+
ax=axes[2],
76+
title="Noise-Map",
77+
colormap=colormap,
78+
use_log10=use_log10,
79+
grid=grid,
80+
positions=positions,
81+
lines=lines,
82+
)
5683

5784
if dataset.psf is not None:
58-
plot_array(dataset.psf.kernel, ax=axes[3], title="Point Spread Function", colormap=colormap, use_log10=use_log10)
59-
plot_array(dataset.psf.kernel, ax=axes[4], title="PSF (log10)", colormap=colormap, use_log10=True)
85+
plot_array(
86+
dataset.psf.kernel,
87+
ax=axes[3],
88+
title="Point Spread Function",
89+
colormap=colormap,
90+
use_log10=use_log10,
91+
)
92+
plot_array(
93+
dataset.psf.kernel,
94+
ax=axes[4],
95+
title="PSF (log10)",
96+
colormap=colormap,
97+
use_log10=True,
98+
)
6099

61-
plot_array(dataset.signal_to_noise_map, ax=axes[5], title="Signal-To-Noise Map", colormap=colormap, use_log10=use_log10, grid=grid, positions=positions, lines=lines)
62-
plot_array(dataset.grids.over_sample_size_lp, ax=axes[6], title="Over Sample Size (Light Profiles)", colormap=colormap, use_log10=use_log10)
63-
plot_array(dataset.grids.over_sample_size_pixelization, ax=axes[7], title="Over Sample Size (Pixelization)", colormap=colormap, use_log10=use_log10)
100+
plot_array(
101+
dataset.signal_to_noise_map,
102+
ax=axes[5],
103+
title="Signal-To-Noise Map",
104+
colormap=colormap,
105+
use_log10=use_log10,
106+
grid=grid,
107+
positions=positions,
108+
lines=lines,
109+
)
110+
plot_array(
111+
dataset.grids.over_sample_size_lp,
112+
ax=axes[6],
113+
title="Over Sample Size (Light Profiles)",
114+
colormap=colormap,
115+
use_log10=use_log10,
116+
)
117+
plot_array(
118+
dataset.grids.over_sample_size_pixelization,
119+
ax=axes[7],
120+
title="Over Sample Size (Pixelization)",
121+
colormap=colormap,
122+
use_log10=use_log10,
123+
)
64124

65125
plt.tight_layout()
66126
subplot_save(fig, output_path, output_filename, output_format)

autoarray/dataset/plot/interferometer_plots.py

Lines changed: 55 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,41 @@ def subplot_interferometer_dataset(
4848
y=dataset.uv_wavelengths[:, 1] / 10**3.0,
4949
x=dataset.uv_wavelengths[:, 0] / 10**3.0,
5050
),
51-
ax=axes[1], title="UV-Wavelengths",
51+
ax=axes[1],
52+
title="UV-Wavelengths",
53+
)
54+
plot_yx(
55+
dataset.amplitudes,
56+
dataset.uv_distances / 10**3.0,
57+
ax=axes[2],
58+
title="Amplitudes vs UV-distances",
59+
ylabel="Jy",
60+
xlabel="k$\\lambda$",
61+
plot_axis_type="scatter",
62+
)
63+
plot_yx(
64+
dataset.phases,
65+
dataset.uv_distances / 10**3.0,
66+
ax=axes[3],
67+
title="Phases vs UV-distances",
68+
ylabel="deg",
69+
xlabel="k$\\lambda$",
70+
plot_axis_type="scatter",
71+
)
72+
plot_array(
73+
dataset.dirty_image,
74+
ax=axes[4],
75+
title="Dirty Image",
76+
colormap=colormap,
77+
use_log10=use_log10,
78+
)
79+
plot_array(
80+
dataset.dirty_signal_to_noise_map,
81+
ax=axes[5],
82+
title="Dirty Signal-To-Noise Map",
83+
colormap=colormap,
84+
use_log10=use_log10,
5285
)
53-
plot_yx(dataset.amplitudes, dataset.uv_distances / 10**3.0, ax=axes[2],
54-
title="Amplitudes vs UV-distances", ylabel="Jy", xlabel="k$\\lambda$", plot_axis_type="scatter")
55-
plot_yx(dataset.phases, dataset.uv_distances / 10**3.0, ax=axes[3],
56-
title="Phases vs UV-distances", ylabel="deg", xlabel="k$\\lambda$", plot_axis_type="scatter")
57-
plot_array(dataset.dirty_image, ax=axes[4], title="Dirty Image", colormap=colormap, use_log10=use_log10)
58-
plot_array(dataset.dirty_signal_to_noise_map, ax=axes[5], title="Dirty Signal-To-Noise Map", colormap=colormap, use_log10=use_log10)
5986

6087
plt.tight_layout()
6188
subplot_save(fig, output_path, output_filename, output_format)
@@ -89,9 +116,27 @@ def subplot_interferometer_dirty_images(
89116
"""
90117
fig, axes = plt.subplots(1, 3, figsize=(21, 7))
91118

92-
plot_array(dataset.dirty_image, ax=axes[0], title="Dirty Image", colormap=colormap, use_log10=use_log10)
93-
plot_array(dataset.dirty_noise_map, ax=axes[1], title="Dirty Noise Map", colormap=colormap, use_log10=use_log10)
94-
plot_array(dataset.dirty_signal_to_noise_map, ax=axes[2], title="Dirty Signal-To-Noise Map", colormap=colormap, use_log10=use_log10)
119+
plot_array(
120+
dataset.dirty_image,
121+
ax=axes[0],
122+
title="Dirty Image",
123+
colormap=colormap,
124+
use_log10=use_log10,
125+
)
126+
plot_array(
127+
dataset.dirty_noise_map,
128+
ax=axes[1],
129+
title="Dirty Noise Map",
130+
colormap=colormap,
131+
use_log10=use_log10,
132+
)
133+
plot_array(
134+
dataset.dirty_signal_to_noise_map,
135+
ax=axes[2],
136+
title="Dirty Signal-To-Noise Map",
137+
colormap=colormap,
138+
use_log10=use_log10,
139+
)
95140

96141
plt.tight_layout()
97142
subplot_save(fig, output_path, output_filename, output_format)

autoarray/fit/plot/fit_imaging_plots.py

Lines changed: 64 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,19 +46,77 @@ def subplot_fit_imaging(
4646
fig, axes = plt.subplots(2, 3, figsize=(21, 14))
4747
axes = axes.flatten()
4848

49-
plot_array(fit.data, ax=axes[0], title="Data", colormap=colormap, use_log10=use_log10, grid=grid, positions=positions, lines=lines)
50-
plot_array(fit.signal_to_noise_map, ax=axes[1], title="Signal-To-Noise Map", colormap=colormap, use_log10=use_log10, grid=grid, positions=positions, lines=lines)
51-
plot_array(fit.model_data, ax=axes[2], title="Model Image", colormap=colormap, use_log10=use_log10, grid=grid, positions=positions, lines=lines)
49+
plot_array(
50+
fit.data,
51+
ax=axes[0],
52+
title="Data",
53+
colormap=colormap,
54+
use_log10=use_log10,
55+
grid=grid,
56+
positions=positions,
57+
lines=lines,
58+
)
59+
plot_array(
60+
fit.signal_to_noise_map,
61+
ax=axes[1],
62+
title="Signal-To-Noise Map",
63+
colormap=colormap,
64+
use_log10=use_log10,
65+
grid=grid,
66+
positions=positions,
67+
lines=lines,
68+
)
69+
plot_array(
70+
fit.model_data,
71+
ax=axes[2],
72+
title="Model Image",
73+
colormap=colormap,
74+
use_log10=use_log10,
75+
grid=grid,
76+
positions=positions,
77+
lines=lines,
78+
)
5279

5380
if residuals_symmetric_cmap:
5481
vmin_r, vmax_r = symmetric_vmin_vmax(fit.residual_map)
5582
vmin_n, vmax_n = symmetric_vmin_vmax(fit.normalized_residual_map)
5683
else:
5784
vmin_r = vmax_r = vmin_n = vmax_n = None
5885

59-
plot_array(fit.residual_map, ax=axes[3], title="Residual Map", colormap=colormap, use_log10=False, vmin=vmin_r, vmax=vmax_r, grid=grid, positions=positions, lines=lines)
60-
plot_array(fit.normalized_residual_map, ax=axes[4], title="Normalized Residual Map", colormap=colormap, use_log10=False, vmin=vmin_n, vmax=vmax_n, grid=grid, positions=positions, lines=lines)
61-
plot_array(fit.chi_squared_map, ax=axes[5], title="Chi-Squared Map", colormap=colormap, use_log10=use_log10, grid=grid, positions=positions, lines=lines)
86+
plot_array(
87+
fit.residual_map,
88+
ax=axes[3],
89+
title="Residual Map",
90+
colormap=colormap,
91+
use_log10=False,
92+
vmin=vmin_r,
93+
vmax=vmax_r,
94+
grid=grid,
95+
positions=positions,
96+
lines=lines,
97+
)
98+
plot_array(
99+
fit.normalized_residual_map,
100+
ax=axes[4],
101+
title="Normalized Residual Map",
102+
colormap=colormap,
103+
use_log10=False,
104+
vmin=vmin_n,
105+
vmax=vmax_n,
106+
grid=grid,
107+
positions=positions,
108+
lines=lines,
109+
)
110+
plot_array(
111+
fit.chi_squared_map,
112+
ax=axes[5],
113+
title="Chi-Squared Map",
114+
colormap=colormap,
115+
use_log10=use_log10,
116+
grid=grid,
117+
positions=positions,
118+
lines=lines,
119+
)
62120

63121
plt.tight_layout()
64122
subplot_save(fig, output_path, output_filename, output_format)

autoarray/fit/plot/fit_interferometer_plots.py

Lines changed: 98 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,58 @@ def subplot_fit_interferometer(
4545

4646
uv = fit.dataset.uv_distances / 10**3.0
4747

48-
plot_yx(np.real(fit.residual_map), uv, ax=axes[0], title="Residual vs UV-Distance (real)", xlabel="k$\\lambda$", plot_axis_type="scatter")
49-
plot_yx(np.real(fit.normalized_residual_map), uv, ax=axes[1], title="Norm Residual vs UV-Distance (real)", ylabel="$\\sigma$", xlabel="k$\\lambda$", plot_axis_type="scatter")
50-
plot_yx(np.real(fit.chi_squared_map), uv, ax=axes[2], title="Chi-Squared vs UV-Distance (real)", ylabel="$\\chi^2$", xlabel="k$\\lambda$", plot_axis_type="scatter")
51-
plot_yx(np.imag(fit.residual_map), uv, ax=axes[3], title="Residual vs UV-Distance (imag)", xlabel="k$\\lambda$", plot_axis_type="scatter")
52-
plot_yx(np.imag(fit.normalized_residual_map), uv, ax=axes[4], title="Norm Residual vs UV-Distance (imag)", ylabel="$\\sigma$", xlabel="k$\\lambda$", plot_axis_type="scatter")
53-
plot_yx(np.imag(fit.chi_squared_map), uv, ax=axes[5], title="Chi-Squared vs UV-Distance (imag)", ylabel="$\\chi^2$", xlabel="k$\\lambda$", plot_axis_type="scatter")
48+
plot_yx(
49+
np.real(fit.residual_map),
50+
uv,
51+
ax=axes[0],
52+
title="Residual vs UV-Distance (real)",
53+
xlabel="k$\\lambda$",
54+
plot_axis_type="scatter",
55+
)
56+
plot_yx(
57+
np.real(fit.normalized_residual_map),
58+
uv,
59+
ax=axes[1],
60+
title="Norm Residual vs UV-Distance (real)",
61+
ylabel="$\\sigma$",
62+
xlabel="k$\\lambda$",
63+
plot_axis_type="scatter",
64+
)
65+
plot_yx(
66+
np.real(fit.chi_squared_map),
67+
uv,
68+
ax=axes[2],
69+
title="Chi-Squared vs UV-Distance (real)",
70+
ylabel="$\\chi^2$",
71+
xlabel="k$\\lambda$",
72+
plot_axis_type="scatter",
73+
)
74+
plot_yx(
75+
np.imag(fit.residual_map),
76+
uv,
77+
ax=axes[3],
78+
title="Residual vs UV-Distance (imag)",
79+
xlabel="k$\\lambda$",
80+
plot_axis_type="scatter",
81+
)
82+
plot_yx(
83+
np.imag(fit.normalized_residual_map),
84+
uv,
85+
ax=axes[4],
86+
title="Norm Residual vs UV-Distance (imag)",
87+
ylabel="$\\sigma$",
88+
xlabel="k$\\lambda$",
89+
plot_axis_type="scatter",
90+
)
91+
plot_yx(
92+
np.imag(fit.chi_squared_map),
93+
uv,
94+
ax=axes[5],
95+
title="Chi-Squared vs UV-Distance (imag)",
96+
ylabel="$\\chi^2$",
97+
xlabel="k$\\lambda$",
98+
plot_axis_type="scatter",
99+
)
54100

55101
plt.tight_layout()
56102
subplot_save(fig, output_path, output_filename, output_format)
@@ -91,19 +137,59 @@ def subplot_fit_interferometer_dirty_images(
91137
fig, axes = plt.subplots(2, 3, figsize=(21, 14))
92138
axes = axes.flatten()
93139

94-
plot_array(fit.dirty_image, ax=axes[0], title="Dirty Image", colormap=colormap, use_log10=use_log10)
95-
plot_array(fit.dirty_signal_to_noise_map, ax=axes[1], title="Dirty Signal-To-Noise Map", colormap=colormap, use_log10=use_log10)
96-
plot_array(fit.dirty_model_image, ax=axes[2], title="Dirty Model Image", colormap=colormap, use_log10=use_log10)
140+
plot_array(
141+
fit.dirty_image,
142+
ax=axes[0],
143+
title="Dirty Image",
144+
colormap=colormap,
145+
use_log10=use_log10,
146+
)
147+
plot_array(
148+
fit.dirty_signal_to_noise_map,
149+
ax=axes[1],
150+
title="Dirty Signal-To-Noise Map",
151+
colormap=colormap,
152+
use_log10=use_log10,
153+
)
154+
plot_array(
155+
fit.dirty_model_image,
156+
ax=axes[2],
157+
title="Dirty Model Image",
158+
colormap=colormap,
159+
use_log10=use_log10,
160+
)
97161

98162
if residuals_symmetric_cmap:
99163
vmin_r, vmax_r = symmetric_vmin_vmax(fit.dirty_residual_map)
100164
vmin_n, vmax_n = symmetric_vmin_vmax(fit.dirty_normalized_residual_map)
101165
else:
102166
vmin_r = vmax_r = vmin_n = vmax_n = None
103167

104-
plot_array(fit.dirty_residual_map, ax=axes[3], title="Dirty Residual Map", colormap=colormap, use_log10=False, vmin=vmin_r, vmax=vmax_r)
105-
plot_array(fit.dirty_normalized_residual_map, ax=axes[4], title="Dirty Normalized Residual Map", colormap=colormap, use_log10=False, vmin=vmin_n, vmax=vmax_n)
106-
plot_array(fit.dirty_chi_squared_map, ax=axes[5], title="Dirty Chi-Squared Map", colormap=colormap, use_log10=use_log10)
168+
plot_array(
169+
fit.dirty_residual_map,
170+
ax=axes[3],
171+
title="Dirty Residual Map",
172+
colormap=colormap,
173+
use_log10=False,
174+
vmin=vmin_r,
175+
vmax=vmax_r,
176+
)
177+
plot_array(
178+
fit.dirty_normalized_residual_map,
179+
ax=axes[4],
180+
title="Dirty Normalized Residual Map",
181+
colormap=colormap,
182+
use_log10=False,
183+
vmin=vmin_n,
184+
vmax=vmax_n,
185+
)
186+
plot_array(
187+
fit.dirty_chi_squared_map,
188+
ax=axes[5],
189+
title="Dirty Chi-Squared Map",
190+
colormap=colormap,
191+
use_log10=use_log10,
192+
)
107193

108194
plt.tight_layout()
109195
subplot_save(fig, output_path, output_filename, output_format)

0 commit comments

Comments
 (0)