def test_write_3d_mat(self): si1 = Series(os.path.join('data', 'mat', 'time', 'Image_00000.mat'), 'none', self.opts) logging.debug('test_write_3d_mat: si1 {} {} {} {}'.format( type(si1), si1.dtype, si1.min(), si1.max())) logging.debug('test_write_3d_mat: si1.shape {}, si1.slices {}'.format( si1.shape, si1.slices)) logging.debug('test_write_3d_mat: si1.tags {}'.format(si1.tags)) with tempfile.TemporaryDirectory() as d: si1.write(os.path.join(d, 'mat?Image_%05d'), formats=['mat'], opts=self.opts) logging.debug('test_write_3d_mat: si1 {} {} {}'.format( si1.dtype, si1.min(), si1.max())) logging.debug( 'test_write_3d_mat: si1.shape {}, si1.slices {}'.format( si1.shape, si1.slices)) si2 = Series(os.path.join(d, 'mat', 'Image_00000.mat'), 'none', self.opts) logging.debug('test_write_3d_mat: si2 {} {} {}'.format( si2.dtype, si2.min(), si2.max())) self.assertEqual(si1.shape, si2.shape) np.testing.assert_array_equal(si1, si2) logging.debug('test_write_3d_mat: Get si1.slices {}'.format( si1.slices)) logging.debug('test_write_3d_mat: Set s3') s3 = si1.astype(np.float64) logging.debug('test_write_3d_mat: s3 {} {} {} {}'.format( type(s3), issubclass(type(s3), Series), s3.dtype, s3.shape)) logging.debug('test_write_3d_mat: s3 {} {} {}'.format( s3.dtype, s3.min(), s3.max())) logging.debug('test_write_3d_mat: s3.slices {}'.format(s3.slices)) si3 = Series(s3) np.testing.assert_array_almost_equal(si1, si3, decimal=4) logging.debug('test_write_3d_mat: si3.slices {}'.format(si3.slices)) logging.debug('test_write_3d_mat: si3 {} {} {}'.format( type(si3), si3.dtype, si3.shape)) s3 = si1 - si2 with tempfile.TemporaryDirectory() as d: s3.write(os.path.join(d, 'diff?Image_%05d.mat'), formats=['mat'], opts=self.opts)
def test_max(self): si = Series('data/dicom/time/time00/Image_00020.dcm') mi = si.max() self.assertEqual(type(mi), np.uint16)
def test_read_3d_nifti_no_opt(self): si1 = Series(os.path.join( 'data', 'nifti', 'time_all', 'time_all_fl3d_dynamic_20190207140517_14.nii.gz')) logging.debug('test_read_3d_nifti_no_opt: si1 {} {} {} {}'.format(type(si1), si1.dtype, si1.min(), si1.max())) logging.debug('test_read_3d_nifti_no_opt: si1.slices {}'.format(si1.slices))
def test_write_3d_nifti_no_opt(self): si1 = Series(os.path.join('data', 'dicom', 'time', 'time00')) logging.debug('test_write_3d_nifti_no_opt: si1 {} {} {} {}'.format(type(si1), si1.dtype, si1.min(), si1.max())) logging.debug('test_write_3d_nifti_no_opt: si1.slices {}'.format(si1.slices)) with tempfile.TemporaryDirectory() as d: si1.write(d, formats=['nifti'])
def test_read_3d_nifti(self): si1 = Series( os.path.join( 'data', 'nifti', 'time_all', 'time_all_fl3d_dynamic_20190207140517_14.nii.gz'), imagedata.formats.INPUT_ORDER_TIME, self.opts) si1 = si1[0] logging.debug('test_read_3d_nifti: si1 {} {} {} {}'.format(type(si1), si1.dtype, si1.min(), si1.max())) logging.debug('test_read_3d_nifti: si1.slices {}'.format(si1.slices)) si1.spacing = (5, 0.41015625, 0.41015625) for slice in range(si1.shape[0]): si1.imagePositions = { slice: np.array([slice, 1, 0]) } si1.orientation = np.array([1, 0, 0, 0, 1, 0]) logging.debug('test_read_3d_nifti: si1.tags {}'.format(si1.tags)) with tempfile.TemporaryDirectory() as d: si1.write(os.path.join(d, 'nifti?Image_%05d'), formats=['nifti'], opts=self.opts) logging.debug('test_read_3d_nifti: si1 {} {} {}'.format(si1.dtype, si1.min(), si1.max())) si2 = Series( os.path.join(d, 'nifti', 'Image_00000.nii.gz'), 'none', self.opts) # noinspection PyArgumentList logging.debug('test_read_3d_nifti: si2 {} {} {}'.format(si2.dtype, si2.min(), si2.max())) self.assertEqual(si1.shape, si2.shape) np.testing.assert_array_equal(si1, si2) logging.debug('test_read_3d_nifti: Get si1.slices {}'.format(si1.slices)) logging.debug('test_read_3d_nifti: Set s3') s3 = si1.astype(np.float64) logging.debug('test_read_3d_nifti: s3 {} {} {} {}'.format(type(s3), issubclass(type(s3), Series), s3.dtype, s3.shape)) logging.debug('test_read_3d_nifti: s3 {} {} {}'.format(s3.dtype, s3.min(), s3.max())) logging.debug('test_read_3d_nifti: s3.slices {}'.format(s3.slices)) si3 = Series(s3) np.testing.assert_array_almost_equal(si1, si3, decimal=4) logging.debug('test_read_3d_nifti: si3.slices {}'.format(si3.slices)) logging.debug('test_read_3d_nifti: si3 {} {} {}'.format(type(si3), si3.dtype, si3.shape)) with tempfile.TemporaryDirectory() as d: si3.write(os.path.join(d, 'n?Image_%05d'), formats=['nifti'], opts=self.opts) s3 = si1 - si2 with tempfile.TemporaryDirectory() as d: s3.write(os.path.join(d, 'diff?Image_%05d'), formats=['nifti'], opts=self.opts)