Welcome to pythologist-image-utilities’s documentation!¶
Readme File¶
pythologist-image-utilities¶
Functions for working with image data in python
About¶
This set of functions are used in the construction of pythologist-reader intermediate storage format, and in the analysis of image data .. finding neighbors .. or the generation of images.
Modules¶
-
pythologist_image_utilities.
flood_fill
(image, x, y, exit_criteria, max_depth=1000, recursion=0, visited=None, border_trim=1)[source]¶ There is a flood_fill in scikit-image 0.15.dev0, but it is not faster than this for this application. It may be good to revisit skikit’s implemention if it is optimized.
Parameters: - image (numpy.array) – a 2d numpy array image
- x (int) – x starting coordinate
- y (int) – y starting coordinate
- exit_criteria (function) – a function for which to exit i.e.
lambda x: x!=0
- max_depth (int) – a maximum recurssion depth
- recursion (int) – not set by user, used to keep track of recursion depth
- visited (list) – list of (x,y) tuple representing coordinates that have been visited
- border_trim (int) – the size of the border to avoid on the edge
Returns: the filled image
Return type: numpy.array
-
pythologist_image_utilities.
image_edges
(image, verbose=False)[source]¶ Take an image of cells where pixel intensitiy integer values represent cell ids (fully filled-in) and return just the edges
Parameters: - image (numpy.array) – A 2d numpy array of integers coding for cell IDs
- verbose (bool) – If true output more details to stderr
Returns: an output image of just edges
Return type: numpy.array
-
pythologist_image_utilities.
make_binary_image_array
(np_array)[source]¶ Make a binary (one channel) image from a drawn color image
Parameters: np_array (numpy.array) – Returns: an array that is 1 where something (anything) existed vs 0 where there was nothing Return type: numpy.array
-
pythologist_image_utilities.
map_image_ids
(image, remove_zero=True)[source]¶ Convert an image into a list of coordinates and the id (coded by pixel integer value)
Parameters: - image (numpy.array) – A numpy 2d array with the integer values representing cell IDs
- remove_zero (bool) – If True (default), remove all zero pixels
Returns: A pandas dataframe with columns shaped as <x><y><id>
Return type: pandas.DataFrame
-
pythologist_image_utilities.
median_id_coordinates
(np_array, exclude_points=None)[source]¶ Locate a coordinate near the center of each object in an image
Parameters: - np_array (numpy.array) – Take an image where pixels code for the IDs
- exclude_points (list) – optional. a list of tuples of ‘x’,’y’ coordinates. to exclude from being possible median outputs
Returns: DataFrame indexed by ID with a near median ‘x’, and median ‘y’ for that ID
Return type: pandas.DataFrame
-
pythologist_image_utilities.
read_tiff_stack
(filename)[source]¶ Read in a tiff filestack into individual images and their metadata
Parameters: filename (str) – a path to a tiff file Returns: a list of dictionary entries keyed by ‘raw_meta’ and ‘raw_image’ for each image in the tiff stack Return type: list
-
pythologist_image_utilities.
watershed_image
(np_array, starting_points, valid_target_points, steps=1, border=1)[source]¶ A function for expanding a set of pixels in an image from starting_points and into valid_target_points.
Parameters: - np_array (numpy.array) – A 2d array of the image where comprised of integer values
- starting_points (list) – a list of (x,y) tuples to begin filling out from. the values of these points
- valid_target_points (list) – a list of (x,y) tuples of valid locations to expand into
- steps (int) – the number of times to execute the watershed
- border (int) – the distance to remain away from the edge of the image
Returns: the image with the watershed executed
Return type: numpy.array