def test_to_and_from_bytes(): acquisition = ismrmrd.Acquisition.from_array(common.create_random_data()) deserialized_acquisition = ismrmrd.Acquisition.from_bytes(acquisition.to_bytes()) common.compare_acquisitions(acquisition, deserialized_acquisition)
def test_serialization_with_header_fields(): properties = common.create_random_acquisition_properties() data = common.create_random_data() trajectory = common.create_random_trajectory() acquisition = ismrmrd.Acquisition.from_array(data, trajectory, **properties) deserialized_acquisition = ismrmrd.Acquisition.from_bytes(acquisition.to_bytes()) common.compare_acquisitions(acquisition, deserialized_acquisition)
def test_initialization_from_array(): nchannels = 32 nsamples = 256 data = common.create_random_data((nchannels, nsamples)) acquisition = ismrmrd.Acquisition.from_array(data) assert np.array_equal(acquisition.data, data), \ "Acquisition data does not match data used to initialize acquisition."
def test_serialize_and_deserialize(): acquisition = ismrmrd.Acquisition.from_array(common.create_random_data()) with io.BytesIO() as stream: acquisition.serialize_into(stream.write) # Rewind the stream, so we can read the bytes back. stream.seek(0) deserialized_acquisition = ismrmrd.Acquisition.deserialize_from(stream.read) common.compare_acquisitions(acquisition, deserialized_acquisition)
def test_initialization_with_header_fields(): fields = { 'version': 2, 'measurement_uid': 123456789, 'available_channels': 64, } data = common.create_random_data() acquisition = ismrmrd.Acquisition.from_array(data, **fields) for field in fields: assert fields.get(field) == getattr(acquisition, field), \ "Field {} not preserved by acquisition. ({} != {})".format(field, fields.get(field), getattr(acquisition, field))
def test_initialization_from_arrays(): nchannels = 32 nsamples = 256 trajectory_dimensions = 2 data = common.create_random_data((nchannels, nsamples)) trajectory = common.create_random_trajectory((nsamples, trajectory_dimensions)) acquisition = ismrmrd.Acquisition.from_array(data, trajectory) assert np.array_equal(acquisition.data, data), \ "Acquisition data does not match data used to initialize acquisition." assert np.array_equal(acquisition.traj, trajectory), \ "Acquisition trajectory does not match trajectory used to initialize acquisition."
def test_initialization_with_illegal_header_value(): ismrmrd.Acquisition.from_array(common.create_random_data(), version='Bad version')
def test_initialization_sets_nonzero_version(): acquisition = ismrmrd.Acquisition.from_array(common.create_random_data()) assert acquisition.version is not 0, \ "Default acquisition version should not be zero."