Utils Modules
Utilities.
ResolutionError
_get_mask(image, thresh, threshold_direction, img_name=None)
Calculate a mask for pixels that exceed the threshold.
Parameters
image : np.array Numpy array representing image. thresh : float A float representing the threshold. threshold_direction : str A string representing the direction that should be thresholded. ("above", "below"). img_name : str Name of image being processed.
Returns
npt.NDArray Numpy array of image with objects coloured.
Source code in topostats/utils.py
bound_padded_coordinates_to_image(coordinates, padding, image_shape)
Ensure the padding of coordinates points does not fall outside of the image shape.
This function is primarily used in the dnaTrace.get_fitted_traces() method which aims to adjust the points of a skeleton to sit on the highest points of a traced molecule. In order to do so it takes the ordered skeleton, which may not lie on the highest points as it is generated from a binary mask that is unaware of the heights, and then defines a padded boundary of 3nm profile perpendicular to the backbone of the DNA (which at this point is the skeleton based on a mask). Each point along the skeleton therefore needs padding by a minimum of 2 pixels (in this case each pixel equates to a cell in a NumPy array). If a point is within 2 pixels (i.e. 2 cells) of the border then we can not pad beyond this region, we have to stop at the edge of the image and so the coordinates is adjusted such that the padding will lie on the edge of the image/array.
Parameters
coordinates : npt.NDArray Coordinates of a point on the mask based skeleton. padding : int Number of pixels/cells to pad around the point. image_shape : tuple The shape of the original image from which the pixel is obtained.
Returns
tuple Returns a tuple of coordinates that ensure that when the point is padded by the noted padding width in subsequent calculations it will not be outside of the image shape.
Source code in topostats/utils.py
convert_path(path)
Ensure path is Path object.
Parameters
path : str | Path Path to be converted.
Returns
Path Pathlib object of path.
Source code in topostats/utils.py
convolve_skeleton(skeleton)
Convolve skeleton with a 3x3 kernel.
This produces an array where the branches of the skeleton are denoted with '1', endpoints are denoted as '2', and pixels at nodes as '3'.
Parameters
skeleton : npt.NDArray Single pixel thick binary trace(s) within an array.
Returns
npt.NDArray The skeleton (=1) with endpoints (=2), and crossings (=3) highlighted.
Source code in topostats/utils.py
coords_2_img(coords, image, ordered=False)
Convert coordinates to a binary image.
Parameters
coords : np.ndarray An array of 2xN integer coordinates. image : np.ndarray An MxL array to assign the above coordinates onto. ordered : bool, optional If True, increments the value of each coord to show order.
Returns
np.ndarray An array the same shape as 'image' with the coordinates highlighted.
Source code in topostats/utils.py
create_empty_dataframe(column_set='grainstats', index_col='grain_number')
Create an empty data frame for returning when no results are found.
Parameters
column_set : str The name of the set of columns for the empty dataframe. index_col : str Column to set as index of empty dataframe.
Returns
pd.DataFrame Empty Pandas DataFrame.
Source code in topostats/utils.py
get_mask(image, thresholds, img_name=None)
Mask data that should not be included in flattening.
Parameters
image : npt.NDArray 2D Numpy array of the image to have a mask derived for. thresholds : dict Dictionary of thresholds, at a bare minimum must have key 'below' with an associated value, second key is to have an 'above' threshold. img_name : str Image name that is being masked.
Returns
npt.NDArray 2D Numpy boolean array of points to mask.
Source code in topostats/utils.py
get_thresholds(image, threshold_method, otsu_threshold_multiplier=None, threshold_std_dev=None, absolute=None, **kwargs)
Obtain thresholds for masking data points.
Parameters
image : npt.NDArray 2D Numpy array of image to be masked. threshold_method : str Method for thresholding, 'otsu', 'std_dev' or 'absolute' are valid options. otsu_threshold_multiplier : float Scaling value for Otsu threshold. threshold_std_dev : dict Dict of above and below thresholds for the standard deviation method. absolute : tuple Dict of below and above thresholds. kwargs : Dictionary passed to 'topostats.threshold(kwargs)'.
Returns
dict Dictionary of thresholds, contains keys 'below' and optionally 'above'.
Source code in topostats/utils.py
update_config(config, args)
Update the configuration with any arguments.
Parameters
config : dict
Dictionary of configuration (typically read from YAML file specified with '-c/--config
Returns
dict Dictionary updated with command arguments.
Source code in topostats/utils.py
update_plotting_config(plotting_config)
Update the plotting config for each of the plots in plot_dict.
Ensures that each entry has all the plotting configuration values that are needed.
Parameters
plotting_config : dict Plotting configuration to be updated.
Returns
dict Updated plotting configuration.
Source code in topostats/utils.py
handler: python options: docstring_style: numpy rendering: show_signature_annotations: true