def plot_fit_subplot( fit, should_plot_mask=True, extract_array_from_mask=False, zoom_around_mask=False, positions=None, units="arcsec", kpc_per_arcsec=None, figsize=None, aspect="square", cmap="jet", norm="linear", norm_min=None, norm_max=None, linthresh=0.05, linscale=0.01, cb_ticksize=10, cb_fraction=0.047, cb_pad=0.01, cb_tick_values=None, cb_tick_labels=None, titlesize=10, xlabelsize=10, ylabelsize=10, xyticksize=10, mask_pointsize=10, position_pointsize=10.0, grid_pointsize=1, output_path=None, output_filename="galaxy_fit", output_format="show", ): rows, columns, figsize_tool = plotter_util.get_subplot_rows_columns_figsize( number_subplots=4) mask = lens_plotter_util.get_mask(fit=fit, should_plot_mask=should_plot_mask) if figsize is None: figsize = figsize_tool plt.figure(figsize=figsize) plt.subplot(rows, columns, 1) plot_galaxy_data_array( galaxy_data=fit.galaxy_data, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, positions=positions, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, grid_pointsize=grid_pointsize, position_pointsize=position_pointsize, mask_pointsize=mask_pointsize, output_path=output_path, output_filename=output_filename, output_format=output_format, ) plt.subplot(rows, columns, 2) lens_plotter_util.plot_model_data( fit=fit, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, positions=positions, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, title="Model Galaxy", titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, position_pointsize=position_pointsize, mask_pointsize=mask_pointsize, output_path=output_path, output_filename="", output_format=output_format, ) plt.subplot(rows, columns, 3) lens_plotter_util.plot_residual_map( fit=fit, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, position_pointsize=position_pointsize, mask_pointsize=mask_pointsize, output_path=output_path, output_filename="", output_format=output_format, ) plt.subplot(rows, columns, 4) lens_plotter_util.plot_chi_squared_map( fit=fit, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, position_pointsize=position_pointsize, mask_pointsize=mask_pointsize, output_path=output_path, output_filename="", output_format=output_format, ) plotter_util.output_subplot_array( output_path=output_path, output_filename=output_filename, output_format=output_format, ) plt.close()
def plot_inversion_subplot( inversion, mask=None, positions=None, grid=None, extract_array_from_mask=False, zoom_around_mask=False, units="arcsec", kpc_per_arcsec=None, figsize=None, aspect="square", cmap="jet", norm="linear", norm_min=None, norm_max=None, linthresh=0.05, linscale=0.01, cb_ticksize=10, cb_fraction=0.047, cb_pad=0.01, cb_tick_values=None, cb_tick_labels=None, titlesize=10, xlabelsize=10, ylabelsize=10, xyticksize=10, output_path=None, output_format="show", output_filename="inversion_subplot", ): rows, columns, figsize_tool = plotter_util.get_subplot_rows_columns_figsize( number_subplots=6) if figsize is None: figsize = figsize_tool ratio = float((inversion.mapper.geometry.arc_second_maxima[1] - inversion.mapper.geometry.arc_second_minima[1]) / (inversion.mapper.geometry.arc_second_maxima[0] - inversion.mapper.geometry.arc_second_minima[0])) if aspect is "square": aspect_inv = ratio elif aspect is "auto": aspect_inv = 1.0 / ratio elif aspect is "equal": aspect_inv = 1.0 plt.figure(figsize=figsize) plt.subplot(rows, columns, 1) plot_reconstructed_image( inversion=inversion, mask=mask, positions=positions, grid=grid, as_subplot=True, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, output_path=output_path, output_format=output_format, output_filename=output_filename, ) plt.subplot(rows, columns, 2, aspect=float(aspect_inv)) plot_pixelization_values( inversion=inversion, positions=None, should_plot_grid=False, should_plot_centres=False, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=None, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, output_path=output_path, output_filename=None, output_format=output_format, ) plt.subplot(rows, columns, 3, aspect=float(aspect_inv)) plot_pixelization_residual_map( inversion=inversion, positions=None, should_plot_grid=False, should_plot_centres=False, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=None, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, output_path=output_path, output_filename=None, output_format=output_format, ) plt.subplot(rows, columns, 4, aspect=float(aspect_inv)) plot_pixelization_normalized_residual_map( inversion=inversion, positions=None, should_plot_grid=False, should_plot_centres=False, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=None, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, output_path=output_path, output_filename=None, output_format=output_format, ) plt.subplot(rows, columns, 5, aspect=float(aspect_inv)) plot_pixelization_chi_squared_map( inversion=inversion, positions=None, should_plot_grid=False, should_plot_centres=False, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=None, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, output_path=output_path, output_filename=None, output_format=output_format, ) plt.subplot(rows, columns, 6, aspect=float(aspect_inv)) plot_pixelization_regularization_weights( inversion=inversion, positions=None, should_plot_grid=False, should_plot_centres=False, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=None, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, output_path=output_path, output_filename=None, output_format=output_format, ) plotter_util.output_subplot_array( output_path=output_path, output_filename=output_filename, output_format=output_format, ) plt.close()
def plot_uv_plane_subplot( uv_plane_data, plot_origin=True, units="arcsec", kpc_per_arcsec=None, figsize=None, aspect="square", cmap="jet", norm="linear", norm_min=None, norm_max=None, linthresh=0.05, linscale=0.01, cb_ticksize=10, cb_fraction=0.047, cb_pad=0.01, cb_tick_values=None, cb_tick_labels=None, titlesize=10, xlabelsize=10, ylabelsize=10, xyticksize=10, plot_axis_type="linear", legend_fontsize=12, output_path=None, output_filename="uv_plane_data", output_format="show", ): """Plot the uv_plane data_type as a sub-plot of all its quantites (e.g. the data, noise_map-map, PSF, Signal-to_noise-map, \ etc). Set *autolens.data_type.array.plotters.array_plotters* for a description of all innput parameters not described below. Parameters ----------- uv_plane_data : data_type.UVPlaneData The uv_plane data_type, which includes the observed data_type, noise_map-map, PSF, signal-to-noise_map-map, etc. plot_origin : True If true, the origin of the data's coordinate system is plotted as a 'x'. image_plane_pix_grid : ndarray or data_type.array.grid_stacks.PixGrid If an adaptive pixelization whose pixels are formed by tracing pixels from the data, this plots those pixels \ over the immage. ignore_config : bool If *False*, the config file general.ini is used to determine whether the subpot is plotted. If *True*, the \ config file is ignored. """ rows, columns, figsize_tool = plotter_util.get_subplot_rows_columns_figsize( number_subplots=3) if figsize is None: figsize = figsize_tool plt.figure(figsize=figsize) plt.subplot(rows, columns, 1) plot_visibilities( uv_plane_data=uv_plane_data, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, cmap=cmap, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, output_path=output_path, output_format=output_format, output_filename=output_filename, ) plt.subplot(rows, columns, 2) plot_u_wavelengths( uv_plane_data=uv_plane_data, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, plot_axis_type=plot_axis_type, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, legend_fontsize=legend_fontsize, output_path=output_path, output_format=output_format, output_filename=output_filename, ) plt.subplot(rows, columns, 4) plot_v_wavelengths( uv_plane_data=uv_plane_data, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, plot_axis_type=plot_axis_type, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, legend_fontsize=legend_fontsize, output_path=output_path, output_format=output_format, output_filename=output_filename, ) plt.subplot(rows, columns, 3) plot_primary_beam( uv_plane_data=uv_plane_data, plot_origin=plot_origin, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, output_path=output_path, output_format=output_format, ) plotter_util.output_subplot_array( output_path=output_path, output_filename=output_filename, output_format=output_format, ) plt.close()
def plot_ray_tracing_subplot( tracer, grid, mask=None, extract_array_from_mask=False, zoom_around_mask=False, positions=None, units="arcsec", figsize=None, aspect="square", cmap="jet", norm="linear", norm_min=None, norm_max=None, linthresh=0.05, linscale=0.01, cb_ticksize=10, cb_fraction=0.047, cb_pad=0.01, cb_tick_values=None, cb_tick_labels=None, titlesize=10, xlabelsize=10, ylabelsize=10, xyticksize=10, mask_pointsize=10, position_pointsize=10.0, grid_pointsize=1.0, output_path=None, output_filename="tracer", output_format="show", ): """Plot the observed _tracer of an analysis, using the *Imaging* class object. The visualization and output type can be fully customized. Parameters ----------- tracer : autolens.imaging.tracer.Imaging Class containing the _tracer, noise_map-mappers and PSF that are to be plotted. The font size of the figure ylabel. output_path : str The path where the _tracer is output if the output_type is a file format (e.g. png, fits) output_format : str How the _tracer is output. File formats (e.g. png, fits) output the _tracer to harddisk. 'show' displays the _tracer \ in the python interpreter window. """ rows, columns, figsize_tool = plotter_util.get_subplot_rows_columns_figsize( number_subplots=6 ) if figsize is None: figsize = figsize_tool plt.figure(figsize=figsize) plt.subplot(rows, columns, 1) plot_profile_image( tracer=tracer, grid=grid, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, positions=positions, as_subplot=True, units=units, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, mask_pointsize=mask_pointsize, position_pointsize=position_pointsize, output_path=output_path, output_filename="", output_format=output_format, ) if tracer.has_mass_profile: plt.subplot(rows, columns, 2) plot_convergence( tracer=tracer, grid=grid, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, as_subplot=True, units=units, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, output_path=output_path, output_filename="", output_format=output_format, ) plt.subplot(rows, columns, 3) plot_potential( tracer=tracer, grid=grid, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, as_subplot=True, units=units, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, output_path=output_path, output_filename="", output_format=output_format, ) plt.subplot(rows, columns, 4) source_plane_grid = tracer.traced_grids_of_planes_from_grid(grid=grid)[-1] plane_plotters.plot_plane_image( plane=tracer.source_plane, grid=source_plane_grid, as_subplot=True, positions=None, plot_grid=False, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, grid_pointsize=grid_pointsize, output_path=output_path, output_filename="", output_format=output_format, ) if tracer.has_mass_profile: plt.subplot(rows, columns, 5) plot_deflections_y( tracer=tracer, grid=grid, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, as_subplot=True, units=units, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, output_path=output_path, output_filename="", output_format=output_format, ) plt.subplot(rows, columns, 6) plot_deflections_x( tracer=tracer, grid=grid, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, as_subplot=True, units=units, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, output_path=output_path, output_filename="", output_format=output_format, ) plotter_util.output_subplot_array( output_path=output_path, output_filename=output_filename, output_format=output_format, ) plt.close()
def plot_image_and_source_plane_subplot( image_plane, source_plane, grid, points=None, plot_critical_curves=False, plot_caustics=False, axis_limits=None, units="arcsec", output_path=None, output_format="show", output_filename="image_and_source_plane_grids", ): rows, columns, figsize = plotter_util.get_subplot_rows_columns_figsize( number_subplots=2) lines = plotter_util.get_critical_curve_and_caustic( obj=image_plane, grid=grid, plot_critical_curve=True, plot_caustics=True) if plot_critical_curves: critical_curves = [lines[0]] else: critical_curves = None if plot_caustics: caustics = [lines[1]] else: caustics = None plt.figure(figsize=figsize) plt.subplot(rows, columns, 1) plot_plane_grid( plane=image_plane, grid=grid, axis_limits=axis_limits, points=points, lines=critical_curves, as_subplot=True, units=units, pointsize=3, xyticksize=16, titlesize=10, xlabelsize=10, ylabelsize=10, title="Image-plane Grid", output_path=output_path, output_filename=output_filename, output_format=output_format, ) source_plane_grid = image_plane.traced_grid_from_grid(grid=grid) plt.subplot(rows, columns, 2) plot_plane_grid( plane=source_plane, grid=source_plane_grid, axis_limits=axis_limits, points=points, lines=caustics, as_subplot=True, units=units, pointsize=3, xyticksize=16, titlesize=10, xlabelsize=10, ylabelsize=10, title="Source-plane Grid", output_path=output_path, output_filename=output_filename, output_format=output_format, ) plotter_util.output_subplot_array( output_path=output_path, output_filename=output_filename, output_format=output_format, ) plt.close()
def plot_image_and_mapper( imaging_data, mapper, mask=None, positions=None, should_plot_centres=False, should_plot_grid=False, should_plot_border=False, image_pixels=None, source_pixels=None, units="arcsec", kpc_per_arcsec=None, output_path=None, output_filename="image_and_mapper", output_format="show", ): rows, columns, figsize = plotter_util.get_subplot_rows_columns_figsize( number_subplots=2 ) plt.figure(figsize=figsize) plt.subplot(rows, columns, 1) imaging_plotters.plot_image( imaging_data=imaging_data, mask=mask, positions=positions, as_subplot=True, units=units, kpc_per_arcsec=None, xyticksize=16, norm="linear", norm_min=None, norm_max=None, linthresh=0.05, linscale=0.01, figsize=None, aspect="square", cmap="jet", cb_ticksize=10, titlesize=10, xlabelsize=10, ylabelsize=10, output_path=output_path, output_format=output_format, ) image_grid = convert_grid( grid=mapper.grid.unlensed_unsubbed_1d, units=units, kpc_per_arcsec=kpc_per_arcsec, ) point_colors = itertools.cycle(["y", "r", "k", "g", "m"]) plot_image_pixels( grid=image_grid, image_pixels=image_pixels, point_colors=point_colors ) plot_image_plane_source_pixels( grid=image_grid, mapper=mapper, source_pixels=source_pixels, point_colors=point_colors, ) plt.subplot(rows, columns, 2) plot_mapper( mapper=mapper, should_plot_centres=should_plot_centres, should_plot_grid=should_plot_grid, should_plot_border=should_plot_border, image_pixels=image_pixels, source_pixels=source_pixels, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=None, ) plotter_util.output_subplot_array( output_path=output_path, output_filename=output_filename, output_format=output_format, ) plt.close()
def plot_deflections_x_subplot( galaxy, grid, mask=None, extract_array_from_mask=False, zoom_around_mask=False, positions=None, units="arcsec", kpc_per_arcsec=None, figsize=None, aspect="square", cmap="jet", norm="linear", norm_min=None, norm_max=None, linthresh=0.05, linscale=0.01, cb_ticksize=10, cb_fraction=0.047, cb_pad=0.01, cb_tick_values=None, cb_tick_labels=None, titlesize=10, xlabelsize=10, ylabelsize=10, xyticksize=10, mask_pointsize=10, position_pointsize=10.0, grid_pointsize=1, output_path=None, output_format="show", output_filename="galaxy_individual_deflections_x", ): total_mass_profiles = len(galaxy.mass_profiles) rows, columns, figsize_tool = plotter_util.get_subplot_rows_columns_figsize( number_subplots=total_mass_profiles) if figsize is None: figsize = figsize_tool plt.figure(figsize=figsize) for i, mass_profile in enumerate(galaxy.mass_profiles): plt.subplot(rows, columns, i + 1) profile_plotters.plot_deflections_x( mass_profile=mass_profile, grid=grid, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, positions=positions, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, title="Galaxy Component", titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, mask_pointsize=mask_pointsize, position_pointsize=position_pointsize, grid_pointsize=grid_pointsize, output_path=output_path, output_format=output_format, output_filename=output_filename, ) plotter_util.output_subplot_array( output_path=output_path, output_filename=output_filename, output_format=output_format, ) plt.close()
def plot_imaging_subplot( imaging_data, plot_origin=True, mask=None, extract_array_from_mask=False, zoom_around_mask=False, should_plot_border=False, positions=None, units="arcsec", kpc_per_arcsec=None, figsize=None, aspect="square", cmap="jet", norm="linear", norm_min=None, norm_max=None, linthresh=0.05, linscale=0.01, cb_ticksize=10, cb_fraction=0.047, cb_pad=0.01, cb_tick_values=None, cb_tick_labels=None, titlesize=10, xlabelsize=10, ylabelsize=10, xyticksize=10, mask_pointsize=10, position_pointsize=30, grid_pointsize=1, output_path=None, output_filename="imaging_data", output_format="show", ): """Plot the imaging data_type as a sub-plot of all its quantites (e.g. the data, noise_map-map, PSF, Signal-to_noise-map, \ etc). Set *autolens.data_type.array.plotters.array_plotters* for a description of all innput parameters not described below. Parameters ----------- imaging_data : data_type.ImagingData The imaging data_type, which includes the observed data_type, noise_map-map, PSF, signal-to-noise_map-map, etc. plot_origin : True If true, the origin of the data's coordinate system is plotted as a 'x'. image_plane_pix_grid : ndarray or data_type.array.grid_stacks.PixGrid If an adaptive pixelization whose pixels are formed by tracing pixels from the data, this plots those pixels \ over the immage. ignore_config : bool If *False*, the config file general.ini is used to determine whether the subpot is plotted. If *True*, the \ config file is ignored. """ rows, columns, figsize_tool = plotter_util.get_subplot_rows_columns_figsize( number_subplots=6) if figsize is None: figsize = figsize_tool plt.figure(figsize=figsize) plt.subplot(rows, columns, 1) plot_image( imaging_data=imaging_data, plot_origin=plot_origin, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, should_plot_border=should_plot_border, positions=positions, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, mask_pointsize=mask_pointsize, position_pointsize=position_pointsize, grid_pointsize=grid_pointsize, output_path=output_path, output_format=output_format, ) plt.subplot(rows, columns, 2) plot_noise_map( imaging_data=imaging_data, plot_origin=plot_origin, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, mask_pointsize=mask_pointsize, output_path=output_path, output_format=output_format, ) plt.subplot(rows, columns, 3) plot_psf( imaging_data=imaging_data, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, output_path=output_path, output_format=output_format, ) plt.subplot(rows, columns, 4) plot_signal_to_noise_map( imaging_data=imaging_data, plot_origin=plot_origin, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, mask_pointsize=mask_pointsize, output_path=output_path, output_format=output_format, ) plt.subplot(rows, columns, 5) plot_absolute_signal_to_noise_map( imaging_data=imaging_data, plot_origin=plot_origin, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, mask_pointsize=mask_pointsize, output_path=output_path, output_format=output_format, ) plt.subplot(rows, columns, 6) plot_potential_chi_squared_map( imaging_data=imaging_data, plot_origin=plot_origin, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, mask_pointsize=mask_pointsize, output_path=output_path, output_format=output_format, ) plotter_util.output_subplot_array( output_path=output_path, output_filename=output_filename, output_format=output_format, ) plt.close()
def plot_fit_subplot_for_plane( fit, plane_index, should_plot_mask=True, extract_array_from_mask=False, zoom_around_mask=False, should_plot_source_grid=False, positions=None, should_plot_image_plane_pix=False, plot_mass_profile_centres=True, units="arcsec", figsize=None, aspect="square", cmap="jet", norm="linear", norm_min=None, norm_max=None, linthresh=0.05, linscale=0.01, cb_ticksize=10, cb_fraction=0.047, cb_pad=0.01, cb_tick_values=None, cb_tick_labels=None, titlesize=10, xlabelsize=10, ylabelsize=10, xyticksize=10, mask_pointsize=10, position_pointsize=10, grid_pointsize=1, output_path=None, output_filename="lens_fit_plane", output_format="show", ): """Plot the model datas_ of an analysis, using the *Fitter* class object. The visualization and output type can be fully customized. Parameters ----------- fit : autolens.lens.fitting.Fitter Class containing fit between the model datas_ and observed lens datas_ (including residual_map, chi_squared_map etc.) output_path : str The path where the datas_ is output if the output_type is a file format (e.g. png, fits) output_filename : str The name of the file that is output, if the output_type is a file format (e.g. png, fits) output_format : str How the datas_ is output. File formats (e.g. png, fits) output the datas_ to harddisk. 'show' displays the datas_ \ in the python interpreter window. """ output_filename += "_" + str(plane_index) rows, columns, figsize_tool = plotter_util.get_subplot_rows_columns_figsize( number_subplots=4 ) mask = lens_plotter_util.get_mask(fit=fit, should_plot_mask=should_plot_mask) if figsize is None: figsize = figsize_tool plt.figure(figsize=figsize) kpc_per_arcsec = fit.tracer.image_plane.kpc_per_arcsec image_plane_pix_grid = lens_plotter_util.get_image_plane_pix_grid( should_plot_image_plane_pix, fit ) plt.subplot(rows, columns, 1) lens_plotter_util.plot_image( fit=fit, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, grid=image_plane_pix_grid, positions=positions, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, grid_pointsize=grid_pointsize, position_pointsize=position_pointsize, mask_pointsize=mask_pointsize, output_path=output_path, output_filename="", output_format=output_format, ) plt.subplot(rows, columns, 2) lens_plotter_util.plot_subtracted_image_of_plane( fit=fit, plane_index=plane_index, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, image_plane_pix_grid=image_plane_pix_grid, positions=positions, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, mask_pointsize=mask_pointsize, position_pointsize=position_pointsize, xyticksize=xyticksize, output_path=output_path, output_filename="", output_format=output_format, ) plt.subplot(rows, columns, 3) lens_plotter_util.plot_model_image_of_plane( fit=fit, plane_index=plane_index, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, plot_mass_profile_centres=plot_mass_profile_centres, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, mask_pointsize=mask_pointsize, output_path=output_path, output_filename="", output_format=output_format, ) if not fit.tracer.planes[plane_index].has_pixelization: plt.subplot(rows, columns, 4) traced_grids = fit.tracer.traced_grids_of_planes_from_grid(grid=fit.grid) plane_plotters.plot_plane_image( plane=fit.tracer.planes[plane_index], grid=traced_grids[plane_index], positions=None, plot_grid=should_plot_source_grid, as_subplot=True, units=units, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, grid_pointsize=grid_pointsize, position_pointsize=position_pointsize, output_path=output_path, output_filename="", output_format=output_format, ) elif fit.tracer.planes[plane_index].has_pixelization: ratio = float( ( fit.inversion.mapper.geometry.arc_second_maxima[1] - fit.inversion.mapper.geometry.arc_second_minima[1] ) / ( fit.inversion.mapper.geometry.arc_second_maxima[0] - fit.inversion.mapper.geometry.arc_second_minima[0] ) ) if aspect is "square": aspect_inv = ratio elif aspect is "auto": aspect_inv = 1.0 / ratio elif aspect is "equal": aspect_inv = 1.0 plt.subplot(rows, columns, 4, aspect=float(aspect_inv)) inversion_plotters.plot_pixelization_values( inversion=fit.inversion, positions=None, should_plot_grid=False, should_plot_centres=False, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=None, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, output_path=output_path, output_filename=None, output_format=output_format, ) plotter_util.output_subplot_array( output_path=output_path, output_filename=output_filename, output_format=output_format, ) plt.close()
def plot_hyper_galaxy_images_subplot( hyper_galaxy_image_path_dict, mask, should_plot_mask=True, extract_array_from_mask=False, zoom_around_mask=False, units="arcsec", kpc_per_arcsec=None, figsize=None, aspect="square", cmap="jet", norm="linear", norm_min=None, norm_max=None, linthresh=0.05, linscale=0.01, cb_ticksize=10, cb_fraction=0.047, cb_pad=0.01, cb_tick_values=None, cb_tick_labels=None, titlesize=10, xlabelsize=10, ylabelsize=10, xyticksize=10, mask_pointsize=10, position_pointsize=10, output_path=None, output_filename="hyper_galaxy_images", output_format="show", ): rows, columns, figsize_tool = plotter_util.get_subplot_rows_columns_figsize( number_subplots=len(hyper_galaxy_image_path_dict) ) if not should_plot_mask: mask = False if figsize is None: figsize = figsize_tool plt.figure(figsize=figsize) hyper_index = 0 for path, hyper_galaxy_image in hyper_galaxy_image_path_dict.items(): hyper_index += 1 plt.subplot(rows, columns, hyper_index) plot_hyper_galaxy_image( hyper_galaxy_image=hyper_galaxy_image, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, title="Hyper Galaxy = " + path[0], titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, mask_pointsize=mask_pointsize, position_pointsize=position_pointsize, output_path=output_path, output_format=output_format, output_filename=output_filename, ) plotter_util.output_subplot_array( output_path=output_path, output_filename=output_filename, output_format=output_format, ) plt.close()
def plot_hyper_galaxy_subplot( hyper_galaxy_image, contribution_map, noise_map, hyper_noise_map, chi_squared_map, hyper_chi_squared_map, mask=None, extract_array_from_mask=False, zoom_around_mask=False, units="arcsec", kpc_per_arcsec=None, figsize=None, aspect="square", cmap="jet", norm="linear", norm_min=None, norm_max=None, linthresh=0.05, linscale=0.01, cb_ticksize=10, cb_fraction=0.047, cb_pad=0.01, cb_tick_values=None, cb_tick_labels=None, titlesize=10, xlabelsize=10, ylabelsize=10, xyticksize=10, mask_pointsize=10, position_pointsize=10, output_path=None, output_format="show", output_filename="hyper_galaxies", ): rows, columns, figsize_tool = plotter_util.get_subplot_rows_columns_figsize( number_subplots=6 ) if figsize is None: figsize = figsize_tool plt.figure(figsize=figsize) plt.subplot(rows, columns, 1) plot_hyper_galaxy_image( hyper_galaxy_image=hyper_galaxy_image, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, mask_pointsize=mask_pointsize, position_pointsize=position_pointsize, output_path=output_path, output_format=output_format, output_filename=output_filename, ) plt.subplot(rows, columns, 2) data_plotters.plot_noise_map( noise_map=noise_map, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, mask_pointsize=mask_pointsize, output_path=output_path, output_format=output_format, output_filename=output_filename, ) plt.subplot(rows, columns, 3) plot_hyper_noise_map( hyper_noise_map=hyper_noise_map, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, mask_pointsize=mask_pointsize, position_pointsize=position_pointsize, output_path=output_path, output_format=output_format, output_filename=output_filename, ) plt.subplot(rows, columns, 4) plot_contribution_map( contribution_map=contribution_map, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, mask_pointsize=mask_pointsize, position_pointsize=position_pointsize, output_path=output_path, output_format=output_format, output_filename=output_filename, ) plt.subplot(rows, columns, 5) plot_chi_squared_map( chi_squared_map=chi_squared_map, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, mask_pointsize=mask_pointsize, output_path=output_path, output_format=output_format, output_filename=output_filename, ) plt.subplot(rows, columns, 6) plot_hyper_chi_squared_map( hyper_chi_squared_map=hyper_chi_squared_map, mask=mask, extract_array_from_mask=extract_array_from_mask, zoom_around_mask=zoom_around_mask, as_subplot=True, units=units, kpc_per_arcsec=kpc_per_arcsec, figsize=figsize, aspect=aspect, cmap=cmap, norm=norm, norm_min=norm_min, norm_max=norm_max, linthresh=linthresh, linscale=linscale, cb_ticksize=cb_ticksize, cb_fraction=cb_fraction, cb_pad=cb_pad, cb_tick_values=cb_tick_values, cb_tick_labels=cb_tick_labels, titlesize=titlesize, xlabelsize=xlabelsize, ylabelsize=ylabelsize, xyticksize=xyticksize, mask_pointsize=mask_pointsize, output_path=output_path, output_format=output_format, output_filename=output_filename, ) plotter_util.output_subplot_array( output_path=output_path, output_filename=output_filename, output_format=output_format, ) plt.close()