Skip to content
Snippets Groups Projects
test_zstack.py 1.26 KiB
Newer Older
from extensions.chaeo.conf.testing import multichannel_zstack, pixel_classifier
from extensions.chaeo.zstack import build_stack_mask
from model_server.accessors import generate_file_accessor, InMemoryDataAccessor
from extensions.ilastik.models import IlastikObjectClassifierModel, IlastikPixelClassifierModel

class TestZStackDerivedDataProducts(unittest.TestCase):

    def setUp(self) -> None:
        # need test data incl obj map
        self.zstack = generate_file_accessor(multichannel_zstack['path'])

        pxmodel = IlastikPixelClassifierModel(
            project_file=pixel_classifier['path']
        )
        self.pxmap = None
        self.obmap = None
        self.stack = None

    def test_zmask_makes_correct_boxes(self):
        zmask, meta = build_stack_mask(
            'test_zmask_with boxes',
            self.stack,
            self.obmap,
            mask_type='boxes',
        )
        zmask_acc = InMemoryDataAccessor(zmask)
        self.assertTrue(zmask_acc.is_object_map())

        # assert dimensionality of zmask
        self.assertEqual(zmask.shape_dict['Z'] > 1)
        self.assertEqual(zmask.shape_dict['C'] == 1)

        # assert non-trivial meta info in boxes
        pass

    def test_zmask_makes_correct_contours(self):
        pass