From ae83e9b9ca7ebd65ad5623dac2e60a287ac1f015 Mon Sep 17 00:00:00 2001 From: Adrian Usler Date: Fri, 16 Aug 2024 15:10:54 +0200 Subject: [PATCH 1/4] Allow float input to BaseCircuit.predict function --- impedance/models/circuits/circuits.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/impedance/models/circuits/circuits.py b/impedance/models/circuits/circuits.py index b670d19..10a4c61 100644 --- a/impedance/models/circuits/circuits.py +++ b/impedance/models/circuits/circuits.py @@ -133,7 +133,10 @@ def predict(self, frequencies, use_initial=False): impedance: ndarray of dtype 'complex128' Predicted impedance at each frequency """ - frequencies = np.array(frequencies, dtype=float) + frequencies = ( + np.array([frequencies], dtype=float) if isinstance(frequencies, float) + else np.array(frequencies, dtype=float) + ) if self._is_fit() and not use_initial: return eval(buildCircuit(self.circuit, frequencies, From 5df719f3a0d7876021c7db78da68502d51f07907 Mon Sep 17 00:00:00 2001 From: Adrian Usler Date: Mon, 23 Sep 2024 14:35:24 +0200 Subject: [PATCH 2/4] Fix linting --- impedance/models/circuits/circuits.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/impedance/models/circuits/circuits.py b/impedance/models/circuits/circuits.py index 10a4c61..1fcb1e0 100644 --- a/impedance/models/circuits/circuits.py +++ b/impedance/models/circuits/circuits.py @@ -134,7 +134,8 @@ def predict(self, frequencies, use_initial=False): Predicted impedance at each frequency """ frequencies = ( - np.array([frequencies], dtype=float) if isinstance(frequencies, float) + np.array([frequencies], dtype=float) + if isinstance(frequencies, float) else np.array(frequencies, dtype=float) ) From 8b563fa95829456044791b95e7bf67608fb16e17 Mon Sep 17 00:00:00 2001 From: Adrian Usler Date: Mon, 23 Sep 2024 14:41:48 +0200 Subject: [PATCH 3/4] Cover parameters property in tests --- impedance/tests/test_circuits.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/impedance/tests/test_circuits.py b/impedance/tests/test_circuits.py index ec0e5c3..50f2f96 100644 --- a/impedance/tests/test_circuits.py +++ b/impedance/tests/test_circuits.py @@ -22,6 +22,7 @@ def test_BaseCircuit(): # check initial_guess is loaded in correctly base_circuit = BaseCircuit(initial_guess) assert base_circuit.initial_guess == initial_guess + assert base_circuit.parameters is None # improper input_guess types raise an TypeError with pytest.raises(TypeError): @@ -69,6 +70,8 @@ def test_Randles(): np.array([1.86235717e-02, 1.16804085e-02, 6.27121224e-02, 2.21232935e+02, 1.17171440e+00]), decimal=2) + np.testing.assert_array_equal(randles.parameters, randles.parameters_) + # compare with known impedance predictions assert np.isclose(randles.predict(np.array([10.0])), @@ -193,6 +196,10 @@ def test_CustomCircuit(): circuit=custom_string) custom_circuit.fit([1, 2, 3], [4, 4, 4]) assert custom_circuit.parameters_[0] == 4 + np.testing.assert_array_equal( + custom_circuit.parameters, + custom_circuit.parameters_ + ) # space in circuit string circuit = circuit = 'R0-p(R1, C1)' From c7ad0f383286d5f8771b2ee1a6b6eccea3b8e83e Mon Sep 17 00:00:00 2001 From: Adrian Usler Date: Mon, 23 Sep 2024 14:47:14 +0200 Subject: [PATCH 4/4] Revert "Cover parameters property in tests" This reverts commit 8b563fa95829456044791b95e7bf67608fb16e17. --- impedance/tests/test_circuits.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/impedance/tests/test_circuits.py b/impedance/tests/test_circuits.py index 50f2f96..ec0e5c3 100644 --- a/impedance/tests/test_circuits.py +++ b/impedance/tests/test_circuits.py @@ -22,7 +22,6 @@ def test_BaseCircuit(): # check initial_guess is loaded in correctly base_circuit = BaseCircuit(initial_guess) assert base_circuit.initial_guess == initial_guess - assert base_circuit.parameters is None # improper input_guess types raise an TypeError with pytest.raises(TypeError): @@ -70,8 +69,6 @@ def test_Randles(): np.array([1.86235717e-02, 1.16804085e-02, 6.27121224e-02, 2.21232935e+02, 1.17171440e+00]), decimal=2) - np.testing.assert_array_equal(randles.parameters, randles.parameters_) - # compare with known impedance predictions assert np.isclose(randles.predict(np.array([10.0])), @@ -196,10 +193,6 @@ def test_CustomCircuit(): circuit=custom_string) custom_circuit.fit([1, 2, 3], [4, 4, 4]) assert custom_circuit.parameters_[0] == 4 - np.testing.assert_array_equal( - custom_circuit.parameters, - custom_circuit.parameters_ - ) # space in circuit string circuit = circuit = 'R0-p(R1, C1)'