phenotypic.enhance.WhiteTophatEnhance#
- class phenotypic.enhance.WhiteTophatEnhance(shape: str = 'disk', width: int | None = None)[source]
Bases:
ImageEnhancerIsolate small bright structures in
detect_matwith the white top-hat transform.Computes the white top-hat (original minus morphological opening) and retains the result, extracting bright features smaller than the structuring element while suppressing larger background structures. Highlights small bright colonies, inocula, or specks against uneven illumination.
For algorithm details, see What Enhancement Actually Does.
- Parameters:
shape (str) – Footprint geometry.
'disk'(default) preserves rounded colony shapes;'diamond'is computationally efficient;'square'can align with sensor grid artifacts.width (int) – Maximum bright-object size (pixels) targeted for extraction. Set slightly larger than the maximum size of colonies you want to isolate.
None(default) derives a small value from image dimensions.
- Returns:
Input image with
detect_matcontaining only the extracted small bright structures.rgbandgrayare unchanged.- Return type:
Image
- Raises:
ValueError – If an unsupported footprint shape is provided.
- Best For:
Isolating small bright colonies from larger background structures.
Highlighting faint small colonies against uneven illumination.
Extracting tiny bright specks for detection or quantification.
Preprocessing before detecting small colony phenotypes.
- Consider Also:
SubtractWhiteTophatwhen you want to suppress (not isolate) small bright artifacts.OpeningSubtractBgfor OpenCV-accelerated white top-hat background subtraction.MultiscaleLoGEnhancerfor scale-invariant blob detection that responds to both small and large colonies.
See also
Tutorial 3: Enhancing Before Detection for a visual walkthrough of morphological enhancement on plate images.
Methods
__init__Applies the operation to an image, either in-place or on a copy.
Return (and optionally display) the root widget.
- __del__()
Automatically stop tracemalloc when the object is deleted.
- __getstate__()
Prepare the object for pickling by disposing of any widgets.
This ensures that UI components (which may contain unpickleable objects like input functions or thread locks) are cleaned up before serialization.
Note
This method modifies the object state by calling dispose_widgets(). Any active widgets will be detached from the object.
- apply(image, inplace=False)
Applies the operation to an image, either in-place or on a copy.
- Parameters:
image (Image) – The arr image to apply the operation on.
inplace (bool) – If True, modifies the image in place; otherwise, operates on a copy of the image.
- Returns:
The modified image after applying the operation.
- Return type:
Image
- widget(image: Image | None = None, show: bool = False) Widget
Return (and optionally display) the root widget.
- Parameters:
image (Image | None) – Optional image to visualize. If provided, visualization controls will be added to the widget.
show (bool) – Whether to display the widget immediately. Defaults to False.
- Returns:
The root widget.
- Return type:
ipywidgets.Widget
- Raises:
ImportError – If ipywidgets or IPython are not installed.