diff --git a/optika/distortion/_distortion.py b/optika/distortion/_distortion.py index ddd5197..3f9281a 100644 --- a/optika/distortion/_distortion.py +++ b/optika/distortion/_distortion.py @@ -353,7 +353,7 @@ def _axis_scene(self) -> tuple[str, ...]: def fit(self) -> na.PolynomialFitFunctionArray: """The polynomial fit mapping scene position to sensor position.""" scene = self.coordinates_scene - return na.PolynomialFitFunctionArray( + return na.PolynomialFitFunctionArray.from_degree( inputs=scene, outputs=self.coordinates_sensor, center=scene.mean(self._axis_scene), @@ -369,7 +369,7 @@ def fit_inverse(self) -> na.PolynomialFitFunctionArray: wavelength=scene.wavelength, position=self.coordinates_sensor, ) - return na.PolynomialFitFunctionArray( + return na.PolynomialFitFunctionArray.from_degree( inputs=inputs, outputs=scene.position, center=inputs.mean(self._axis_scene), diff --git a/optika/distortion/_distortion_test.py b/optika/distortion/_distortion_test.py index 721b12f..f10185e 100644 --- a/optika/distortion/_distortion_test.py +++ b/optika/distortion/_distortion_test.py @@ -128,11 +128,11 @@ class TestPolynomialDistortionModel( ): def test_fit(self, a: optika.distortion.PolynomialDistortionModel): assert isinstance(a.fit, na.PolynomialFitFunctionArray) - assert a.fit.degree == a.degree + assert a.fit.coefficient_names is not None def test_fit_inverse(self, a: optika.distortion.PolynomialDistortionModel): assert isinstance(a.fit_inverse, na.PolynomialFitFunctionArray) - assert a.fit_inverse.degree == a.degree + assert a.fit_inverse.coefficient_names is not None @pytest.mark.parametrize( argnames="kwargs", diff --git a/optika/radiometry/_vignetting.py b/optika/radiometry/_vignetting.py index c0708b0..33221af 100644 --- a/optika/radiometry/_vignetting.py +++ b/optika/radiometry/_vignetting.py @@ -170,7 +170,7 @@ def _axis_scene(self) -> tuple[str, ...]: def fit(self) -> na.PolynomialFitFunctionArray: """The polynomial fit mapping scene coordinates to illumination.""" scene = self.coordinates_scene - return na.PolynomialFitFunctionArray( + return na.PolynomialFitFunctionArray.from_degree( inputs=scene, outputs=self.illumination, center=scene.mean(self._axis_scene), diff --git a/optika/radiometry/_vignetting_test.py b/optika/radiometry/_vignetting_test.py index 5722da5..cbef367 100644 --- a/optika/radiometry/_vignetting_test.py +++ b/optika/radiometry/_vignetting_test.py @@ -88,7 +88,7 @@ class TestPolynomialVignettingModel( ): def test_fit(self, a: optika.radiometry.PolynomialVignettingModel): assert isinstance(a.fit, na.PolynomialFitFunctionArray) - assert a.fit.degree == a.degree + assert a.fit.coefficient_names is not None @pytest.mark.parametrize( argnames="kwargs", diff --git a/pyproject.toml b/pyproject.toml index 165a955..510c910 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,7 +15,7 @@ classifiers = [ ] dependencies = [ "astropy!=6.1.5", - "named-arrays~=1.5", + "named-arrays~=2.0", "pymupdf", "joblib", "ezdxf",