topostats.utils =============== .. py:module:: topostats.utils .. autoapi-nested-parse:: Utilities .. !! processed by numpydoc !! Attributes ---------- .. autoapisummary:: topostats.utils.LOGGER topostats.utils.ALL_STATISTICS_COLUMNS Functions --------- .. autoapisummary:: topostats.utils.convert_path topostats.utils.update_config topostats.utils.update_plotting_config topostats.utils._get_mask topostats.utils.get_mask topostats.utils.get_thresholds topostats.utils.create_empty_dataframe Module Contents --------------- .. py:data:: LOGGER .. py:data:: ALL_STATISTICS_COLUMNS :value: ('image', 'basename', 'molecule_number', 'area', 'area_cartesian_bbox', 'aspect_ratio',... .. py:function:: convert_path(path: Union[str, pathlib.Path]) -> pathlib.Path Ensure path is Path object. :param path: Path to be converted. :type path: Union[str, Path] :returns: pathlib Path :rtype: Path .. !! processed by numpydoc !! .. py:function:: update_config(config: dict, args: Union[dict, argparse.Namespace]) -> Dict Update the configuration with any arguments :param config: Dictionary of configuration (typically read from YAML file specified with '-c/--config ') :type config: dict :param args: Command line arguments :type args: Namespace :returns: Dictionary updated with command arguments. :rtype: Dict .. !! processed by numpydoc !! .. py:function:: update_plotting_config(plotting_config: dict) -> dict Update the plotting config for each of the plots in plot_dict to ensure that each entry has all the plotting configuration values that are needed. .. !! processed by numpydoc !! .. py:function:: _get_mask(image: numpy.ndarray, thresh: float, threshold_direction: str, img_name: str = None) -> numpy.ndarray Calculate a mask for pixels that exceed the threshold :param image: Numpy array representing image. :type image: np.array :param threshold: A float representing the threshold :type threshold: float :param threshold_direction: A string representing the direction that should be thresholded. ("above", "below") :type threshold_direction: str :param img_name: Name of image being processed :type img_name: str :returns: Numpy array of image with objects coloured. :rtype: np.array .. !! processed by numpydoc !! .. py:function:: get_mask(image: numpy.ndarray, thresholds: dict, img_name: str = None) -> numpy.ndarray Mask data that should not be included in flattening. :param image: 2D Numpy array of the image to have a mask derived for. :type image: np.ndarray :param thresholds: Dictionary of thresholds, at a bare minimum must have key 'below' with an associated value, second key is to have an 'above' threshold. :type thresholds: dict :param img_name: Image name that is being masked. :type img_name: str :returns: 2D Numpy boolean array of points to mask. :rtype: np.ndarray .. !! processed by numpydoc !! .. py:function:: get_thresholds(image: numpy.ndarray, threshold_method: str, otsu_threshold_multiplier: float = None, threshold_std_dev: dict = None, absolute: dict = None, **kwargs) -> Dict Obtain thresholds for masking data points. :param image: 2D Numpy array of image to be masked :type image: np.ndarray :param threshold_method: Method for thresholding, 'otsu', 'std_dev' or 'absolute' are valid options. :type threshold_method: str :param threshold_std_dev: Dict of above and below thresholds for the standard deviation method. :type threshold_std_dev: dict :param absolute: Dict of below and above thresholds. :type absolute: tuple :param \*\*kwargs: :returns: Dictionary of thresholds, contains keys 'below' and optionally 'above'. :rtype: Dict .. !! processed by numpydoc !! .. py:function:: create_empty_dataframe(columns: set = ALL_STATISTICS_COLUMNS, index: tuple = 'molecule_number') -> pandas.DataFrame Create an empty data frame for returning when no results are found. :param columns: Columns of the empty dataframe. :type columns: list :returns: Empty Pandas DataFrame. :rtype: pd.DataFrame .. !! processed by numpydoc !!