itasc.segmentation.contour_filtering

Filtering helpers for nucleus contour-map stacks.

Functions

compute_filtered_contour_maps(contours, params)

Return contour maps after median, Gaussian, and memory filtering.

contour_memory_filter(contours[, tau, floor])

Bidirectional contour memory filter.

Classes

ContourFilterParams([median_kernel_time, ...])

Parameters for spatial and temporal contour-map filtering.

class itasc.segmentation.contour_filtering.ContourFilterParams(median_kernel_time=1, median_kernel_space=1, gaussian_sigma_time=0.0, gaussian_sigma_space=0.0, memory_tau=0.0, memory_floor=0.01)[source]

Bases: object

Parameters for spatial and temporal contour-map filtering.

Parameters:
  • median_kernel_time (int)

  • median_kernel_space (int)

  • gaussian_sigma_time (float)

  • gaussian_sigma_space (float)

  • memory_tau (float)

  • memory_floor (float)

median_kernel_time: int
median_kernel_space: int
gaussian_sigma_time: float
gaussian_sigma_space: float
memory_tau: float
memory_floor: float
itasc.segmentation.contour_filtering.contour_memory_filter(contours, tau=0.1, floor=0.01)[source]

Bidirectional contour memory filter.

Runs a signal-adaptive EMA forward (t=0→T) and backward (t=T→0), then averages. Strong ridges reset the memory; weak/absent ridges inherit from their temporal neighbours.

Parameters:
  • contours (ndarray)

  • tau (float) – and “trust memory”. Set to roughly the contour value you consider “weak”. Lower = more aggressive persistence.

  • floor (float) – with zero signal the memory decays at rate (1 - floor) per frame. At 0.01 a ghost halves in ~69 frames; at 0.05 ~14 frames.

Returns:

filtered

Return type:

ndarray

itasc.segmentation.contour_filtering.compute_filtered_contour_maps(contours, params)[source]

Return contour maps after median, Gaussian, and memory filtering.

Return type:

ndarray

Parameters: