images are NumPy arrays(row, col[, channel]); submodules imported explicitly
dtype implies rangefloat [0,1], uint8 [0,255]; convert with img_as_float/ubyte
coordinates are (y, x)row, col — reversed vs OpenCV/plotting
threshold_otsu → maskgray > threshold_otsu(gray) starts most segmentation
morphology opening/closingremove specks / fill holes; footprint sets the scale
watershed splits touching objectsdistance transform + markers
label then regionpropsconnected components → per-object area/centroid/intensity
regionprops_table → DataFramethe fast path to measurements in pandas
resize with anti_aliasingavoids moiré when downscaling