topostats.plottingfuncs#
Plotting data.
Attributes#
Classes#
Plots image arrays. |
Functions#
Add the pixel to nanometre scaling factor to plotting configs. |
|
|
Dilate a supplied binary image a given number of times. |
|
Load the Matplotlibrc parameter file. |
|
Add the bounding boxes to a plot. |
|
Set the number of ticks along the y and x axes and lets matplotlib assign the values. |
Module Contents#
- topostats.plottingfuncs.LOGGER#
- topostats.plottingfuncs.add_pixel_to_nm_to_plotting_config(plotting_config: dict, pixel_to_nm_scaling: float) dict [source]#
Add the pixel to nanometre scaling factor to plotting configs.
Ensures plots are in nanometres and not pixels.
- Parameters:
plotting_config (dict) – TopoStats plotting configuration dictionary.
pixel_to_nm_scaling (float) – Pixel to nanometre scaling factor for the image.
- Returns:
Updated plotting config with the pixel to nanometre scaling factor applied to all the image configurations.
- Return type:
dict
- topostats.plottingfuncs.dilate_binary_image(binary_image: numpy.typing.NDArray, dilation_iterations: int) numpy.typing.NDArray [source]#
Dilate a supplied binary image a given number of times.
- Parameters:
binary_image (npt.NDArray) – Binary image to be dilated.
dilation_iterations (int) – Number of dilation iterations to be performed.
- Returns:
Dilated binary image.
- Return type:
npt.NDArray
- topostats.plottingfuncs.load_mplstyle(style: str | pathlib.Path) None [source]#
Load the Matplotlibrc parameter file.
- Parameters:
style (str | Path) – Path to a Matplotlib Style file.
- class topostats.plottingfuncs.Images(data: numpy.array, output_dir: str | pathlib.Path, filename: str, style: str | pathlib.Path = None, pixel_to_nm_scaling: float = 1.0, masked_array: numpy.array = None, title: str = None, image_type: str = 'non-binary', image_set: str = 'core', core_set: bool = False, pixel_interpolation: str | None = None, cmap: str | None = None, mask_cmap: str = 'jet_r', region_properties: dict = None, zrange: list = None, colorbar: bool = True, axes: bool = True, num_ticks: tuple[int | None] = (None, None), save: bool = True, savefig_format: str | None = None, histogram_log_axis: bool = True, histogram_bins: int | None = None, savefig_dpi: str | float | None = None)[source]#
Plots image arrays.
- Parameters:
data (np.array) – Numpy array to plot.
output_dir (Union[str, Path]) – Output directory to save the file to.
filename (Union[str, Path]) – Filename to save image as.
style (dict) – Filename of matploglibrc Params.
pixel_to_nm_scaling (float) – The scaling factor showing the real length of 1 pixel, in nm.
masked_array (npt.NDArray) – Optional mask array to overlay onto an image.
title (str) – Title for plot.
image_type (str) – The image data type - binary or non-binary.
image_set (str) – The set of images to process - core or all.
core_set (bool) – Flag to identify image as part of the core image set or not.
pixel_interpolation (str | None) – Interpolation to use (default: None).
cmap (str) – Colour map to use (default ‘nanoscope’, ‘afmhot’ also available).
mask_cmap (str) – Colour map to use for the secondary (masked) data (default ‘jet_r’, ‘blu’ proivides more contrast).
region_properties (dict) – Dictionary of region properties, adds bounding boxes if specified.
zrange (list) – Lower and upper bound to clip core images to.
colorbar (bool) – Optionally add a colorbar to plots, default is False.
axes (bool) – Optionally add/remove axes from the image.
num_ticks (tuple[int | None]) – The number of x and y ticks to display on the image.
save (bool) – Whether to save the image.
savefig_format (str) – Format to save the image as.
histogram_log_axis (bool) – Optionally use a logarithmic y axis for the histogram plots.
histogram_bins (int) – Number of bins for histograms to use.
savefig_dpi (str | float | None) – The resolution of the saved plot (default ‘figure’).
- data#
- output_dir#
- filename#
- pixel_to_nm_scaling = 1.0#
- masked_array = None#
- title = None#
- image_type = 'non-binary'#
- image_set = 'core'#
- core_set = False#
- interpolation#
- cmap = None#
- mask_cmap = None#
- region_properties = None#
- zrange = None#
- colorbar = True#
- axes = True#
- num_ticks = (None, None)#
- save = True#
- savefig_format#
- histogram_log_axis = True#
- histogram_bins#
- savefig_dpi#
- plot_histogram_and_save() tuple | None [source]#
Plot and save a histogram of the height map.
- Returns:
Matplotlib.pyplot figure object and Matplotlib.pyplot axes object.
- Return type:
tuple | None
- topostats.plottingfuncs.add_bounding_boxes_to_plot(fig, ax, shape: tuple, region_properties: list, pixel_to_nm_scaling: float) tuple [source]#
Add the bounding boxes to a plot.
- Parameters:
fig (plt.figure.Figure) – Matplotlib.pyplot figure object.
ax (plt.axes._subplots.AxesSubplot) – Matplotlib.pyplot axes object.
shape (tuple) – Tuple of the image-to-be-plot’s shape.
region_properties (list) – Region properties to add bounding boxes from.
pixel_to_nm_scaling (float) – The scaling factor from px to nm.
- Returns:
Matplotlib.pyplot figure object and Matplotlib.pyplot axes object.
- Return type:
tuple
- topostats.plottingfuncs.set_n_ticks(ax: matplotlib.pyplot.Axes.axes, n_xy: list[int | None, int | None]) None [source]#
Set the number of ticks along the y and x axes and lets matplotlib assign the values.
- Parameters:
ax (plt.Axes.axes) – The axes to add ticks to.
n_xy (list[int, int]) – The number of ticks.
- Returns:
The axes with the new ticks.
- Return type:
plt.Axes.axes