"git@git.embl.de:heriche/agrotoxindb.git" did not exist on "d09a6f1688f5bc6f498434dffcc0fadc0623489e"
Newer
Older
from conf.testing import output_path
from extensions.chaeo.conf.testing import multichannel_zstack, pixel_classifier, pipeline_params
from extensions.chaeo.zstack import build_stack_mask
from model_server.accessors import generate_file_accessor, InMemoryDataAccessor, write_accessor_data_to_file
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']},
mip = InMemoryDataAccessor(self.zstack.get_one_channel_data(channel=0).data.max(axis=-1, keepdims=True))
self.pxmap, result = pxmodel.infer(mip)
write_accessor_data_to_file(output_path / 'pxmap.tif', self.pxmap)
self.obmap = InMemoryDataAccessor((self.pxmap.data > pipeline_params['threshold']).astype('uint8'))
write_accessor_data_to_file(output_path / 'obmap.tif', self.obmap)
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