standard_library.install_aliases() import numpy as np from pkg_resources import parse_version import pytest import odl import odl.tomo as tomo from odl.tomo.backends import ASTRA_VERSION from odl.tomo.util.testutils import (skip_if_no_astra, skip_if_no_astra_cuda, skip_if_no_scikit) from odl.util.testutils import almost_equal, all_almost_equal # Find the valid projectors projectors = [skip_if_no_astra('par2d astra_cpu uniform'), skip_if_no_astra('par2d astra_cpu nonuniform'), skip_if_no_astra('par2d astra_cpu random'), skip_if_no_astra('cone2d astra_cpu uniform'), skip_if_no_astra('cone2d astra_cpu nonuniform'), skip_if_no_astra('cone2d astra_cpu random'), skip_if_no_astra_cuda('par2d astra_cuda uniform'), skip_if_no_astra_cuda('par2d astra_cuda half_uniform'), skip_if_no_astra_cuda('par2d astra_cuda nonuniform'), skip_if_no_astra_cuda('par2d astra_cuda random'), skip_if_no_astra_cuda('cone2d astra_cuda uniform'), skip_if_no_astra_cuda('cone2d astra_cuda nonuniform'), skip_if_no_astra_cuda('cone2d astra_cuda random'), skip_if_no_astra_cuda('par3d astra_cuda uniform'), skip_if_no_astra_cuda('par3d astra_cuda nonuniform'), skip_if_no_astra_cuda('par3d astra_cuda random'),
import odl import odl.tomo as tomo from odl.util.testutils import skip_if_no_largescale, simple_fixture from odl.tomo.util.testutils import (skip_if_no_astra, skip_if_no_astra_cuda, skip_if_no_skimage) # --- pytest fixtures --- # filter_type = simple_fixture( 'filter_type', ['Ram-Lak', 'Shepp-Logan', 'Cosine', 'Hamming', 'Hann']) frequency_scaling = simple_fixture('frequency_scaling', [0.5, 0.9, 1.0]) # Find the valid projectors # TODO: Add nonuniform once #671 is solved projectors = [ skip_if_no_astra('par2d astra_cpu uniform'), skip_if_no_astra('cone2d astra_cpu uniform'), skip_if_no_astra_cuda('par2d astra_cuda uniform'), skip_if_no_astra_cuda('cone2d astra_cuda uniform'), skip_if_no_astra_cuda('par3d astra_cuda uniform'), skip_if_no_astra_cuda('cone3d astra_cuda uniform'), skip_if_no_astra_cuda('helical astra_cuda uniform'), skip_if_no_skimage('par2d skimage uniform') ] projector_ids = [ 'geom={}, impl={}, angles={}' ''.format(*p.args[1].split()) for p in projectors ] # bug in pytest (ignores pytestmark) forces us to do this this
# Internal import odl import odl.tomo as tomo from odl.util.testutils import skip_if_no_largescale from odl.tomo.util.testutils import (skip_if_no_astra, skip_if_no_astra_cuda, skip_if_no_scikit) @pytest.fixture(scope="module", params=['float32', 'float64'], ids=[' dtype=float32 ', ' dtype=float64 ']) def dtype(request): return request.param # Find the valid projectors projectors = [skip_if_no_astra('par2d astra_cpu uniform'), skip_if_no_astra('par2d astra_cpu nonuniform'), skip_if_no_astra('par2d astra_cpu random'), skip_if_no_astra('cone2d astra_cpu uniform'), skip_if_no_astra('cone2d astra_cpu nonuniform'), skip_if_no_astra('cone2d astra_cpu random'), skip_if_no_astra_cuda('par2d astra_cuda uniform'), skip_if_no_astra_cuda('par2d astra_cuda nonuniform'), skip_if_no_astra_cuda('par2d astra_cuda random'), skip_if_no_astra_cuda('cone2d astra_cuda uniform'), skip_if_no_astra_cuda('cone2d astra_cuda nonuniform'), skip_if_no_astra_cuda('cone2d astra_cuda random'), skip_if_no_astra_cuda('par3d astra_cuda uniform'), skip_if_no_astra_cuda('par3d astra_cuda nonuniform'), skip_if_no_astra_cuda('par3d astra_cuda random'), skip_if_no_astra_cuda('cone3d astra_cuda uniform'),
from __future__ import division import numpy as np from pkg_resources import parse_version import pytest import odl import odl.tomo as tomo from odl.tomo.backends import ASTRA_VERSION from odl.tomo.util.testutils import (skip_if_no_astra, skip_if_no_astra_cuda, skip_if_no_skimage) from odl.util.testutils import almost_equal, all_almost_equal, simple_fixture # --- pytest fixtures --- # impl_params = [ skip_if_no_astra('astra_cpu'), skip_if_no_astra_cuda('astra_cuda'), skip_if_no_skimage('skimage') ] impl = simple_fixture('impl', impl_params, fmt=" {name} = '{value.args[1]}' ") geometry_params = ['par2d', 'par3d', 'cone2d', 'cone3d', 'helical'] geometry_ids = [' geometry = {} '.format(p) for p in geometry_params] @pytest.fixture(scope='module', ids=geometry_ids, params=geometry_params) def geometry(request): geom = request.param m = 100 n_angles = 100