Source code for nxtomomill.converter.fluo.tests.test_fluoscan2D

# coding: utf-8

import logging

import pytest
import numpy

from nxtomomill.converter.fluo.fluoscan import FluoTomoScan2D
from nxtomomill.tests.datasets import GitlabDataset

logging.disable(logging.INFO)


[docs]@pytest.fixture(scope="class") def fluodata2D(request): cls = request.cls cls.scan_dir = GitlabDataset.get_dataset("fluo_datasets2D") cls.dataset_basename = "CONT2_p2_600nm_FT02_slice_0" cls.scan = FluoTomoScan2D( scan=cls.scan_dir, dataset_basename=cls.dataset_basename, detectors=(), )
[docs]@pytest.mark.usefixtures("fluodata2D") class TestFluo2D: def test_all_detectors(self): assert ( len(self.scan.el_lines) == 2 # pylint: disable=E1101 ), f"Number of elements found should be 2 and is {len(self.scan.el_lines)}." # pylint: disable=E1101 assert set(self.scan.detectors) == set( # pylint: disable=E1101 ["fluo1", "corrweighted"] ), f"There should be 2 'detectors' (fluo1 and corrweighted), {len(self.detectors)} were found." # pylint: disable=E1101 def test_one_detector(self): scan = FluoTomoScan2D( scan=self.scan_dir, # pylint: disable=E1101 dataset_basename=self.dataset_basename, # pylint: disable=E1101 detectors=("corrweighted",), ) assert ( len(scan.el_lines) == 2 ), f"Number of elements found should be 2 and is {len(scan.el_lines)}." assert ( len(scan.detectors) == 1 ), f"There should be 1 detector (corrweighted), {len(scan.detectors)} were found." # One ghost detector (no corresponding files) # test general section setters with pytest.raises(ValueError): scan = FluoTomoScan2D( scan=self.scan_dir, # pylint: disable=E1101 dataset_basename=self.dataset_basename, # pylint: disable=E1101 detectors=("toto",), ) def test_load_data(self): data = self.scan.load_data("corrweighted", "Ca", 0) # pylint: disable=E1101 assert data.shape == (1, 251, 1000) def test_load_energy_and_pixel_size(self): assert self.scan.energy == 17.1 # pylint: disable=E1101 assert numpy.allclose( self.scan.pixel_size, 6e-10, atol=1e-4 # pylint: disable=E1101 ) # Tolerance:0.1nm (since pixel_size is expected in um).