Exemplo n.º 1
0
    def test_t2_star_map(self):
        ys, _, _, _ = self._generate_mock_data()
        scan = Cones(ys)

        # No mask
        tissue = FemoralCartilage()
        map1 = scan.generate_t2_star_map(tissue,
                                         num_workers=util.num_workers())
        assert map1 is not None, "map should not be None"

        mask = MedicalVolume(np.ones(ys[0].shape), np.eye(4))

        # Use a mask
        tissue.set_mask(mask)
        map2 = scan.generate_t2_star_map(tissue,
                                         num_workers=util.num_workers())
        assert map2 is not None, "map should not be None"
        assert map1.volumetric_map.is_identical(map2.volumetric_map)

        # Use a mask as a path
        tissue = FemoralCartilage()
        mask_path = os.path.join(self.data_dirpath,
                                 "test_t2_star_map_mask.nii.gz")
        NiftiWriter().save(mask, mask_path)
        map2 = scan.generate_t2_star_map(tissue,
                                         num_workers=util.num_workers(),
                                         mask_path=mask_path)
        assert map2 is not None, "map should not be None"
        assert map1.volumetric_map.is_identical(map2.volumetric_map)
Exemplo n.º 2
0
    def test_t2_star_map(self):
        scan = self.SCAN_TYPE(dicom_path=self.dicom_dirpath)
        scan.interregister(target_path=QDESS_ECHO1_PATH, target_mask_path=TARGET_MASK_PATH)

        # run analysis with femoral cartilage, without mask in tissue, but mask as additional input.
        tissue = FemoralCartilage()
        map1 = scan.generate_t2_star_map(tissue, TARGET_MASK_PATH)
        assert map1 is not None, "map should not be None"

        # add mask to femoral cartilage and run
        nr = NiftiReader()
        tissue.set_mask(nr.load(TARGET_MASK_PATH))
        map2 = scan.generate_t2_star_map(tissue)
        assert map2 is not None, "map should not be None"

        # map1 and map2 should be identical
        assert (map1.volumetric_map.is_identical(map2.volumetric_map))
Exemplo n.º 3
0
    def test_generate_t2_map(self):
        ys, _, _, _, _ = self._generate_mock_data()
        scan = Mapss(ys)

        mask = MedicalVolume(np.ones(ys[0].shape), np.eye(4))
        mask_path = os.path.join(self.data_dirpath, "test_t2_mask.nii.gz")
        NiftiWriter().save(mask, mask_path)

        tissue = FemoralCartilage()
        map1 = scan.generate_t2_map(tissue)
        assert map1 is not None

        tissue.set_mask(mask)
        map2 = scan.generate_t2_map(tissue, num_workers=util.num_workers())
        assert map2 is not None
        assert map1.volumetric_map.is_identical(map2.volumetric_map)

        map2 = scan.generate_t2_map(tissue, mask_path=mask, num_workers=util.num_workers())
        assert map2 is not None
        assert map1.volumetric_map.is_identical(map2.volumetric_map)
Exemplo n.º 4
0
    def test_quant_val_fitting(self):
        """Test quantitative fitting (T1-rho, T2)"""
        scan = self.SCAN_TYPE(dicom_path=self.dicom_dirpath)

        actions = [scan.generate_t1_rho_map, scan.generate_t2_map]
        for action in actions:
            tissue = FemoralCartilage()
            map1 = action(tissue, MANUAL_SEGMENTATION_MASK_PATH)
            assert map1 is not None, "%s: map1 should not be None" % str(
                action)

            nr = NiftiReader()
            tissue.set_mask(nr.load(MANUAL_SEGMENTATION_MASK_PATH))
            map2 = action(tissue)
            assert map2 is not None, "%s: map2 should not be None" % str(
                action)

            # map1 and map2 should be identical
            assert map1.volumetric_map.is_identical(
                map2.volumetric_map
            ), "%s: map1 and map2 should be identical" % str(action)