Exemplo n.º 1
0
def test_complex_center_crop(shape, target_shape, named):
    shape = shape + [2]
    input = create_input(shape, named=named)
    out_torch = transforms.complex_center_crop(input, target_shape).numpy()
    assert list(out_torch.shape) == target_shape + [
        2,
    ]
Exemplo n.º 2
0
    def __central_kspace_crop(self, kspace, masked_kspace, mask, sensitivity_map=None):
        if self.crop is not None:
            kspace, masked_kspace, mask = transforms.complex_center_crop(
                [kspace, masked_kspace, mask], self.crop, contiguous=True)

            if sensitivity_map is not None:
                # TODO: Linear does not work yet in 4D, working with bilinear instead.
                sensitivity_map = torch.nn.functional.interpolate(
                    sensitivity_map.permute(0, 3, 1, 2).rename(None),
                    size=self.crop,
                    mode='bilinear',
                    align_corners=True).permute(0, 2, 3, 1).refine_names(*sensitivity_map.names)

        backprojected_kspace = self.backward_operator(kspace)
        return kspace, masked_kspace, mask, backprojected_kspace, sensitivity_map