color_matcher package¶
Submodules¶
color_matcher.baseclass module¶
- class color_matcher.baseclass.MatcherBaseclass(*args, **kwargs)¶
Bases:
object
- __init__(*args, **kwargs)¶
- static rgb2gray(rgb: Optional[numpy.ndarray] = None, standard: str = 'HDTV') numpy.ndarray ¶
Convert RGB color space to monochromatic color space
- Parameters
rgb (
ndarray
) – input array in red, green and blue (RGB) spacestandard (
string
) – option that determines whether head- and footroom are excluded (‘HDTV’) or considered otherwise
- Returns
array in monochromatic space
- Return type
ndarray
- validate_color_chs()¶
This function checks whether provided images consist of a valid number of color channels.
- validate_img_dims()¶
This function validates the image dimensions. It throws an exception if the dimension are unequal to 2 or 3.
color_matcher.hist_matcher module¶
- class color_matcher.hist_matcher.HistogramMatcher(*args, **kwargs)¶
Bases:
color_matcher.baseclass.MatcherBaseclass
- __init__(*args, **kwargs)¶
- hist_match(src: Optional[numpy.ndarray] = None, ref: Optional[numpy.ndarray] = None) numpy.ndarray ¶
This function conducts channel-wise histogram matching which is invariant of image resolutions, but requires the same number of color channels in both images.
color_matcher.io_handler module¶
- color_matcher.io_handler.load_img_file(file_path: Optional[str] = None) numpy.ndarray ¶
- color_matcher.io_handler.save_img_file(img, file_path: Optional[str] = None, file_type: Optional[str] = None) bool ¶
- color_matcher.io_handler.select_file(init_dir=None, title='')¶
get filepath from tkinter dialog
- color_matcher.io_handler.suppress_user_warning(switch=None, category=None)¶
color_matcher.mvgd_matcher module¶
- class color_matcher.mvgd_matcher.TransferMVGD(*args, **kwargs)¶
Bases:
color_matcher.baseclass.MatcherBaseclass
- __init__(*args, **kwargs)¶
- analytical_solver() numpy.ndarray ¶
An analytical solution to the linear equation system of Multi-Variate Gaussian Distributions (MVGDs).
- Returns
transfer_mat: Transfer matrix
- Return type
np.ndarray
- check_dims()¶
Catch error for wrong color channel number (e.g., gray scale image)
- Returns
None
- mkl_solver()¶
This function computes the transfer matrix based on the Monge-Kantorovich Linearization (MKL).
- Returns
transfer_mat: Transfer matrix
- Return type
np.ndarray
- multivar_transfer(src: Optional[numpy.ndarray] = None, ref: Optional[numpy.ndarray] = None, fun: Optional[function] = None) numpy.ndarray ¶
Transfer function to map colors based on for Multi-Variate Gaussian Distributions (MVGDs).
- static w2_dist(mu_a: numpy.ndarray, mu_b: numpy.ndarray, cov_a: numpy.ndarray, cov_b: numpy.ndarray) float ¶
Wasserstein-2 distance metric is a similarity measure for Gaussian distributions
- w2_img_dist(img_a: numpy.ndarray, img_b: numpy.ndarray)¶
Wasserstein-2 image distance metric is a similarity measure for Gaussian distributions
color_matcher.normalizer module¶
- class color_matcher.normalizer.Normalizer(data=None, min=None, max=None)¶
Bases:
object
- __init__(data=None, min=None, max=None)¶
- norm_fun()¶
normalize image to values between 1 and 0
- type_norm(data=None, min=None, max=None, new_min=None, new_max=None)¶
normalize numpy image array for provided data type
- uint16_norm()¶
normalize image array to 16-bit unsigned integer
- uint8_norm()¶
normalize image array to 8-bit unsigned integer
color_matcher.top_level module¶
- class color_matcher.top_level.ColorMatcher(*args, **kwargs)¶
Bases:
color_matcher.hist_matcher.HistogramMatcher
,color_matcher.reinhard_matcher.ReinhardMatcher
,color_matcher.mvgd_matcher.TransferMVGD
- __init__(*args, **kwargs)¶
- main() numpy.ndarray ¶
The main function is the high-level entry point performing the mapping based on instantiation arguments.
- Returns
Resulting image after color mapping
- Return type
np.ndarray
- transfer(src: Optional[numpy.ndarray] = None, ref: Optional[numpy.ndarray] = None, method: Optional[str] = None) numpy.ndarray ¶
Transfer function to map colors based on provided transfer method.