def METHOD_NAME(self):
    """Test macenko_pca normalization."""
    stain_unmixing_routine_params = {
        'stains': ['hematoxylin', 'eosin'],
        'stain_unmixing_method': 'macenko_pca',
    }
    # TCGA-A2-A3XS-DX1_xmin21421_ymin37486_.png, Amgad et al, 2019)
    # for macenco (obtained using rgb_separate_stains_macenko_pca()
    # and using reordered such that columns are the order:
    # Hamtoxylin, Eosin, Null
    W_target = np.array([
        [0.5807549, 0.08314027, 0.08213795],
        [0.71681094, 0.90081588, 0.41999816],
        [0.38588316, 0.42616716, -0.90380025]
    ])
    # Macenko - Unmasked, using default, 'idealized' W_target"
    tissue_rgb_normalized = deconvolution_based_normalization(
        cfg.tissue_rgb,
        stain_unmixing_routine_params=stain_unmixing_routine_params)
    assert tuple(
        [int(tissue_rgb_normalized[..., i].mean()) for i in range(3)]
    ) == (183, 121, 212)
    # Macenko - Unmasked, using W_target from good image
    tissue_rgb_normalized = deconvolution_based_normalization(
        cfg.tissue_rgb, W_target=W_target,
        stain_unmixing_routine_params=stain_unmixing_routine_params)
    assert tuple(
        [int(tissue_rgb_normalized[..., i].mean()) for i in range(3)]
    ) in {(188, 125, 175), (188, 124, 175)}
    # Macenko - Masked, using W_target from good image
    tissue_rgb_normalized = deconvolution_based_normalization(
        cfg.tissue_rgb, W_target=W_target, mask_out=cfg.mask_out,
        stain_unmixing_routine_params=stain_unmixing_routine_params)
    assert tuple(
        [int(tissue_rgb_normalized[..., i].mean()) for i in range(3)]
    ) in {(188, 125, 175), (187, 125, 174)}