Exemple #1
0
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
Exemple #2
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)
Exemple #3
0
    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,
        ))
Exemple #4
0
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')
Exemple #5
0
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')
Exemple #6
0
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')