Esempio n. 1
0
def it_knows_tissue_areas_mask_slide_filters_composition(
    RgbToGrayscale_,
    OtsuThreshold_,
    BinaryDilation_,
    RemoveSmallHoles_,
    RemoveSmallObjects_,
):
    _enough_tissue_mask_filters_ = FiltersComposition(
        Slide).tissue_mask_filters

    RgbToGrayscale_.assert_called_once()
    OtsuThreshold_.assert_called_once()
    BinaryDilation_.assert_called_once()
    RemoveSmallHoles_.assert_called_once()
    RemoveSmallObjects_.assert_called_once()

    assert _enough_tissue_mask_filters_.filters == [
        RgbToGrayscale_(),
        OtsuThreshold_(),
        BinaryDilation_(),
        RemoveSmallHoles_(),
        RemoveSmallObjects_(),
    ]

    assert type(_enough_tissue_mask_filters_) == Compose
Esempio n. 2
0
def it_can_dispatch_subclass_according_class_type(request, _cls, subclass):
    _init_ = initializer_mock(request, FiltersComposition)

    filters_composition = FiltersComposition(_cls)

    _init_.assert_called_once_with(_cls)
    assert isinstance(filters_composition, subclass)
Esempio n. 3
0
def it_raises_filtercompositionerror_if_class_is_none(request):
    _init_ = initializer_mock(request, FiltersComposition)
    cls_ = None

    with pytest.raises(FilterCompositionError) as err:
        FiltersComposition(cls_)

    _init_.assert_not_called()
    assert isinstance(err.value, FilterCompositionError)
    assert str(err.value) == "cls_ parameter cannot be None"
Esempio n. 4
0
def it_raises_filtercompositionerror_if_class_not_allowed(request):
    _init_ = initializer_mock(request, FiltersComposition)
    cls_ = Compose

    with pytest.raises(FilterCompositionError) as err:
        FiltersComposition(cls_)

    _init_.assert_not_called()
    assert isinstance(err.value, FilterCompositionError)
    assert (str(err.value) ==
            "Filters composition for the class Compose is not available")
Esempio n. 5
0
def it_knows_tissue_areas_mask_tile_filters_composition(
        RgbToGrayscale_, OtsuThreshold_, BinaryDilation_, BinaryFillHoles_):
    _enough_tissue_mask_filters_ = FiltersComposition(Tile).tissue_mask_filters

    RgbToGrayscale_.assert_called_once()
    OtsuThreshold_.assert_called_once()
    BinaryDilation_.assert_called_once()
    BinaryFillHoles_.assert_called_once()
    np.testing.assert_almost_equal(
        BinaryFillHoles_.call_args_list[0][1]["structure"], np.ones((5, 5)))
    assert _enough_tissue_mask_filters_.filters == [
        RgbToGrayscale_(),
        OtsuThreshold_(),
        BinaryDilation_(),
        BinaryFillHoles_(),
    ]
    assert type(_enough_tissue_mask_filters_) == Compose