def test_xml_read_function_gets_image_metadata_from_example_quicknii_file(): output = read_quicknii_xml(filename='data/deepslice_output/results.xml') assert output.first == 1 assert output.last == 1 assert output.name == Path("richards_7.18-1-Nissl_2015.png") assert output.filename == Path("richards_7.18-1-Nissl_2015.png") assert output.height == 700 assert output.width == 700 assert output.nr == 0
def test_xml_read_function_gets_transformation_properties_from_example_quicknii_file( ): output = read_quicknii_xml(filename='data/deepslice_output/results.xml') assert output.ox == approx(475.8982543945312) assert output.oy == approx(260.47747802734375) assert output.oz == approx(346.73419189453125) assert output.ux == approx(-481.19720458984375) assert output.uy == approx(5.9310126304626465) assert output.uz == approx(8.603763580322266) assert output.vx == approx(-21.585269927978516) assert output.vy == approx(-4.721147060394287) assert output.vz == approx(-389.2110595703125)
def __call__(self, filename: str, resolution: Optional[float] = None) -> Result[LoadImageData, str]: image_filename = read_quicknii_xml(filename).image_path if Path(filename).suffix == '.xml' else filename image_data = self._image_reader.read(filename=image_filename) if image_data is None: return Err("Image failed to load.") resolution = resolution if isinstance((resolution := image_data.resolution_um), float) else 1. image = Image(channels=image_data.channels, resolution_um=resolution) image = image.resample(resolution_um=10) section = Section.create( image=image, image_transform=ImageTransformer(i_shift=-0.5, j_shift=-0.5) ) self._repo.save_section(section=section) return Ok(LoadImageData( section_id=section.id, section_image=section.image.channels[0], resolution_um=image.resolution_um, num_channels=image.num_channels, ))
def test_error_if_image_name_and_filename_are_different_in_xml_file(): with pytest.raises(ValueError): read_quicknii_xml( filename='data/deepslice_output/results_diffname.xml')
def test_xml_read_function_gets_full_image_path_from_example_xml_file(): output = read_quicknii_xml(filename='data/deepslice_output/results.xml') assert output.image_path == Path( 'data/deepslice_output/richards_7.18-1-Nissl_2015.png')
def test_xml_read_function_gets_parent_path_from_example_xml_file(): output = read_quicknii_xml(filename='data/deepslice_output/results.xml') assert output.path == Path('data/deepslice_output')