darsia.IlluminationCorrection#

class IlluminationCorrection[source]#

Bases: BaseCorrection

Class for illumination correction.

Methods

correct_array(img)

Rescale an array using local WB.

correct_metadata([metadata])

Correction routine on metadata level.

load(path)

Load the illumination correction from a file.

save(path)

Save the illumination correction to a file.

select_random_samples(mask, config)

Select random samples for illumination correction.

setup(base, sample_groups[, mask, outliers, ...])

Initialize an illumination correction.

correct_array(img)[source]#

Rescale an array using local WB.

Parameters:
imgnp.ndarray

Input image.

Returns:
np.ndarray

Corrected image.

load(path)[source]#

Load the illumination correction from a file.

Parameters:
pathPath

Path to the file.

save(path)[source]#

Save the illumination correction to a file.

Parameters:
pathPath

Path to the file.

select_random_samples(mask, config)[source]#

Select random samples for illumination correction.

Parameters:
maskdarsia.Image | np.ndarray

Mask to restrict sampling to certain areas.

configIlluminationCorrectionConfig

Configuration for the illumination correction, containing parameters such as sample width and number of samples.

setup(base, sample_groups, mask=None, outliers=0.0, filter=<function IlluminationCorrection.<lambda>>, colorspace='hsl-scalar', interpolation='quartic', bounds=(0.5, 2.0), show_plot=False, log=None)[source]#

Initialize an illumination correction.

Parameters:
basedarsia.Image | list[darsia.Image]

Image or list of images to use for correction.

sample_groupslist[list[tuple[slice, …]]]

List of groups of samples, where each group is a list of slices defining the sample regions.

maskdarsia.Image | np.ndarray | None

Mask to restrict sampling to certain areas (optional).

outliersfloat

Fraction of outliers to remove from samples (default: 0.0).

filtercallable()

Callable to apply to the sampled colors (default: identity).

colorspacestr

Colour space for sampling and correction: one of "rgb", "rgb-scalar", "lab", "lab-scalar", "hsl", "hsl-scalar", "gray" (default: "hsl-scalar").

interpolationLiteral[‘rbf’, ‘quartic’, ‘illumination’]

Interpolation method for correction (default: “quartic”).

boundstuple[float, float]

Bounds for the illumination correction factors (default: (0.5, 2.0)).

show_plotbool

Whether to show diagnostic plots during setup (default: False).

logPath | None

Path to save logs or diagnostic plots (optional).