Utility functions
Check input quality
- bigfish.stack.check_array(array, ndim=None, dtype=None, allow_nan=True)
Full safety check of an array.
- Parameters:
- arraynp.ndarray
Array to check.
- ndimint or List[int]
Number of dimensions expected.
- dtypetype or List[type]
Types expected.
- allow_nanbool
Allow NaN values or not.
- Returns:
- _bool
Assert if the array is well formatted.
- bigfish.stack.check_df(df, features=None, features_without_nan=None)
Full safety check of a dataframe.
- Parameters:
- dfpd.DataFrame or pd.Series
Dataframe or Series to check.
- featuresList[str]
Names of the expected features.
- features_without_nanList[str]
Names of the features to check for the missing values
- Returns:
- _bool
Assert if the dataframe is well formatted.
- bigfish.stack.check_parameter(**kwargs)
Check dtype of the function’s parameters.
- Parameters:
- kwargsType or Tuple[Type]
Map of each parameter with its expected dtype.
- Returns:
- _bool
Assert if the array is well formatted.
- bigfish.stack.check_range_value(array, min_=None, max_=None)
Check the support of the array.
- Parameters:
- arraynp.ndarray
Array to check.
- min_int
Minimum value allowed.
- max_int
Maximum value allowed.
- Returns:
- _bool
Assert if the array has the right range of values.
Get constant values
- bigfish.stack.get_margin_value()
Return the margin pixel around a cell coordinate used to define its bounding box.
- Returns:
- _int
Margin value (in pixels).
- bigfish.stack.get_eps_float32()
Return the epsilon value for a 32 bit float.
- Returns:
- _np.float32
Epsilon value.
Load and check stored data
- bigfish.stack.load_and_save_url(remote_url, directory, filename=None)
Download remote data and save them
- Parameters:
- remote_urlstr
Remote url of the data to download.
- directorystr
Directory to save the download content.
- filenamestr
Filename of the object to save.
- Returns:
- pathstr
Path of the downloaded file.
- bigfish.stack.check_hash(path, expected_hash)
Check hash value of a file.
- Parameters:
- pathstr
Path of the file to check.
- expected_hashstr
Expected hash value.
- Returns:
- _bool
True if hash values match.
- bigfish.stack.compute_hash(path)
Compute sha256 hash of a file.
- Parameters:
- pathstr
Path to read the file.
- Returns:
- sha256str
Hash value of the file.
- bigfish.stack.check_input_data(input_directory, input_segmentation=False)
Check input images exists and download them if necessary.
- Parameters:
- input_directorystr
Path of the image directory.
- input_segmentationbool
Check 2-d example images for segmentation.
Compute moving average
- bigfish.stack.moving_average(array, n)
Compute a trailing average.
- Parameters:
- arraynp.ndarray
Array used to compute moving average.
- nint
Window width of the moving average.
- Returns:
- resultsnp.ndarray
Moving average values.
- bigfish.stack.centered_moving_average(array, n)
Compute a centered moving average.
- Parameters:
- arraynp.ndarray
Array used to compute moving average.
- nint
Window width of the moving average.
- Returns:
- resultsnp.ndarray
Centered moving average values.
Convert pixels and nanometers
- bigfish.detection.convert_spot_coordinates(spots, voxel_size)
Convert spots coordinates from pixel to nanometer.
- Parameters:
- spotsnp.ndarray
Coordinates of the detected spots with shape (nb_spots, 3) or (nb_spots, 2).
- voxel_sizeint, float, Tuple(int, float) or List(int, float)
Size of a voxel, in nanometer. One value per spatial dimension (zyx or yx dimensions). If it’s a scalar, the same value is applied to every dimensions.
- Returns:
- spots_nanometernp.ndarray
Coordinates of the detected spots with shape (nb_spots, 3) or (nb_spots, 3), in nanometer.
- bigfish.detection.get_object_radius_pixel(voxel_size_nm, object_radius_nm, ndim)
Convert the object radius in pixel.
When the object considered is a spot this value can be interpreted as the standard deviation of the spot PSF, in pixel. For any object modelled with a gaussian signal, this value can be interpreted as the standard deviation of the gaussian.
- Parameters:
- voxel_size_nmint, float, Tuple(int, float) or List(int, float)
Size of a voxel, in nanometer. One value per spatial dimension (zyx or yx dimensions). If it’s a scalar, the same value is applied to every dimensions.
- object_radius_nmint, float, Tuple(int, float) or List(int, float)
Radius of the object, in nanometer. One value per spatial dimension (zyx or yx dimensions). If it’s a scalar, the same radius is applied to every dimensions.
- ndimint
Number of spatial dimension to consider.
- Returns:
- object_radius_pxTuple[float]
Radius of the object in pixel, one element per dimension (zyx or yx dimensions).
- bigfish.detection.get_object_radius_nm(voxel_size_nm, object_radius_px, ndim)
Convert the object radius in nanometer.
When the object considered is a spot this value can be interpreted as the standard deviation of the spot PSF, in nanometer. For any object modelled with a gaussian signal, this value can be interpreted as the standard deviation of the gaussian.
- Parameters:
- voxel_size_nmint, float, Tuple(int, float) or List(int, float)
Size of a voxel, in nanometer. One value per spatial dimension (zyx or yx dimensions). If it’s a scalar, the same value is applied to every dimensions.
- object_radius_pxint, float, Tuple(int, float) or List(int, float)
Radius of the object, in pixel. One value per spatial dimension (zyx or yx dimensions). If it’s a scalar, the same radius is applied to every dimensions.
- ndimint
Number of spatial dimension to consider.
- Returns:
- object_radius_nmTuple[float]
Radius of the object in nanometer, one element per dimension (zyx or yx dimensions).
Extract a spot image
- bigfish.detection.get_spot_volume(image, spot_z, spot_y, spot_x, radius_z, radius_yx)
Get a subimage of a detected spot in 3 dimensions.
- Parameters:
- imagenp.ndarray
Image with shape (z, y, x).
- spot_zint or float
Coordinate of the detected spot along the z axis.
- spot_yint or float
Coordinate of the detected spot along the y axis.
- spot_xint or float
Coordinate of the detected spot along the x axis.
- radius_zint or float
Radius in pixel of the detected spot, along the z axis.
- radius_yxint or float
Radius in pixel of the detected spot, on the yx plan.
- Returns:
- image_spotnp.ndarray
Reference spot in 3-d.
- _Tuple[int]
Lower zyx coordinates of the crop.
- bigfish.detection.get_spot_surface(image, spot_y, spot_x, radius_yx)
Get a subimage of a detected spot in 2 dimensions.
- Parameters:
- imagenp.ndarray
Image with shape (y, x).
- spot_yint or float
Coordinate of the detected spot along the y axis.
- spot_xint or float
Coordinate of the detected spot along the x axis.
- radius_yxint or float
Radius in pixel of the detected spot, on the yx plan.
- Returns:
- image_spotnp.ndarray
Reference spot in 2-d.
- _Tuple[int]
Lower yx coordinates of the crop.
Format and save plots
- bigfish.plot.save_plot(path_output, ext)
Save the plot.
- Parameters:
- path_outputstr
Path to save the image (without extension).
- extstr or List[str]
Extension used to save the plot. If it is a list of strings, the plot will be saved several times.
- bigfish.plot.get_minmax_values(tensor)
Get the minimum and maximum value of the image according to its dtype.
- Parameters:
- tensornp.ndarray
A 2-d, 3-d or 5-d tensor with shape (y, x), (z, y, x) or (r, c, z, y, x) respectively.
- Returns:
- vminint
Minimum value display in the plot.
- vmaxint
Maximum value display in the plot.
- bigfish.plot.create_colormap()
Create a shuffled colormap to display segmentation masks.
- Returns:
- colormapListedColormap object
Colormap for matplotlib.