Skip to content

Commit 6c06a89

Browse files
committed
Merge branch 'develop' into feature/env
2 parents cd2f35e + 81ccafc commit 6c06a89

54 files changed

Lines changed: 2849 additions & 4978 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.vscode/tasks.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"-m",
6262
"pylint",
6363
"cdl",
64+
"sigima_",
6465
"--disable=duplicate-code",
6566
"--disable=fixme",
6667
"--disable=too-many-arguments",

cdl/gui/actionhandler.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -815,9 +815,9 @@ def cra_fit(title, fitdlgfunc, iconname, tip: str | None = None):
815815
"related to Error function (erf)"
816816
),
817817
)
818-
self.action_for("windowing")
818+
self.action_for("apply_window")
819819
self.action_for("detrending")
820-
self.action_for("interpolation")
820+
self.action_for("interpolate")
821821
self.action_for("resampling")
822822
with self.new_menu(_("Stability analysis"), icon_name="stability.svg"):
823823
self.action_for("allan_variance")

cdl/gui/docks.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161

6262
from cdl.config import APP_NAME, Conf, _
6363
from sigima_.algorithms.image import get_centroid_fourier
64-
from sigima_.algorithms.signal import fwhm
64+
from sigima_.algorithms.signal.pulse import fwhm
6565
from sigima_.obj import create_signal
6666

6767
if TYPE_CHECKING:

cdl/gui/processor/base.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1361,7 +1361,9 @@ def edit_regions_of_interest(self, extract: bool = False) -> TypeROI | None:
13611361
for obj_i in objs:
13621362
obj_i.roi = None
13631363
else:
1364-
edited_roi = edited_roi.from_params(obj, params)
1364+
edited_roi = edited_roi.__class__.from_params(
1365+
obj, params, singleobj=edited_roi.singleobj
1366+
)
13651367
if not extract:
13661368
for obj_i in objs:
13671369
obj_i.roi = edited_roi

cdl/gui/processor/signal.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ def register_computations(self) -> None:
290290
)
291291
# Other processing
292292
self.register_1_to_1(
293-
sigima_signal.windowing,
293+
sigima_signal.apply_window,
294294
_("Windowing"),
295295
paramclass=sigima_.param.WindowingParam,
296296
icon_name="windowing.svg",
@@ -305,7 +305,7 @@ def register_computations(self) -> None:
305305
icon_name="detrending.svg",
306306
)
307307
self.register_2_to_1(
308-
sigima_signal.interpolation,
308+
sigima_signal.interpolate,
309309
_("Interpolation"),
310310
paramclass=sigima_.param.InterpolationParam,
311311
obj2_name=_("signal for X values"),

cdl/gui/roieditor.py

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,16 @@ class BaseROIEditor(
221221
Generic[TypeObj, TypeROI, TypePlotItem, TypeROIItem], # type: ignore
222222
metaclass=BaseROIEditorMeta,
223223
):
224-
"""ROI Editor"""
224+
"""ROI Editor
225+
226+
Args:
227+
parent: Parent plot dialog
228+
obj: Object to edit (:class:`sigima_.obj.SignalObj` or
229+
:class:`sigima_.obj.ImageObj`)
230+
extract: If True, the dialog is in "extract mode" (extracting ROIs)
231+
item: Optional plot item to add to the plot (if None, a new item is created
232+
from the object)
233+
"""
225234

226235
ICON_NAME = None
227236
OBJ_NAME = None
@@ -247,6 +256,8 @@ def __init__(
247256
roi = obj.roi
248257
if roi is None:
249258
roi = self.get_obj_roi_class()()
259+
if roi.singleobj is None:
260+
roi.singleobj = Conf.proc.extract_roi_singleobj.get()
250261
self.__roi: TypeROI = roi
251262

252263
fmt = create_adapter_from_object(obj).get_obj_option("format")
@@ -448,7 +459,16 @@ def get_text(self) -> str:
448459

449460

450461
class SignalROIEditor(BaseROIEditor[SignalObj, SignalROI, CurveItem, XRangeSelection]):
451-
"""Signal ROI Editor"""
462+
"""Signal ROI Editor
463+
464+
Args:
465+
parent: Parent plot dialog
466+
obj: Object to edit (:class:`sigima_.obj.SignalObj` or
467+
:class:`sigima_.obj.ImageObj`)
468+
extract: If True, the dialog is in "extract mode" (extracting ROIs)
469+
item: Optional plot item to add to the plot (if None, a new item is created
470+
from the object)
471+
"""
452472

453473
ICON_NAME = "signal_roi.svg"
454474
OBJ_NAME = _("signal")
@@ -508,7 +528,16 @@ class ImageROIEditor(
508528
Union[AnnotatedPolygon, AnnotatedRectangle, AnnotatedCircle],
509529
]
510530
):
511-
"""Image ROI Editor"""
531+
"""Image ROI Editor
532+
533+
Args:
534+
parent: Parent plot dialog
535+
obj: Object to edit (:class:`sigima_.obj.SignalObj` or
536+
:class:`sigima_.obj.ImageObj`)
537+
extract: If True, the dialog is in "extract mode" (extracting ROIs)
538+
item: Optional plot item to add to the plot (if None, a new item is created
539+
from the object)
540+
"""
512541

513542
ICON_NAME = "image_roi.svg"
514543
OBJ_NAME = _("image")

cdl/tests/features/signals/deltax_dialog_unit_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
from cdl.tests.data import create_paracetamol_signal
1313
from cdl.widgets.signaldeltax import SignalDeltaXDialog
14-
from sigima_.algorithms.signal import full_width_at_y
14+
from sigima_.algorithms.signal.pulse import full_width_at_y
1515

1616

1717
def test_signal_delta_x_dialog():

cdl/tests/features/signals/fft1d_unit_test.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616
from guidata.qthelpers import qt_app_context
1717

1818
import cdl.tests.data as ctd
19-
import sigima_.algorithms.signal as alg
2019
import sigima_.computation.signal as sigima_signal
2120
import sigima_.obj
2221
import sigima_.param
2322
from cdl.env import execenv
2423
from cdl.utils.tests import check_array_result, check_scalar_result
2524
from cdl.utils.vistools import view_curves
25+
from sigima_.algorithms.signal import fourier
2626

2727

2828
def test_signal_fft_interactive() -> None:
@@ -43,8 +43,8 @@ def test_signal_fft_interactive() -> None:
4343
extra_param = sigima_.obj.PeriodicParam()
4444
s1 = sigima_.obj.create_signal_from_param(newparam, extra_param=extra_param)
4545
t, y = s1.xydata
46-
f, s = alg.fft1d(t, y)
47-
t2, y2 = alg.ifft1d(f, s)
46+
f, s = fourier.fft1d(t, y)
47+
t2, y2 = fourier.ifft1d(f, s)
4848
execenv.print("Comparing original and FFT/iFFT signals...", end=" ")
4949
execenv.print("OK")
5050
check_array_result("Signal FFT/iFFT X data", t2, t)

cdl/tests/features/signals/fitdialog_unit_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from cdl.tests.data import GaussianNoiseParam, create_noisy_signal, get_test_signal
1515
from cdl.utils.tests import get_default_test_name
1616
from cdl.widgets import fitdialog as fdlg
17-
from sigima_.algorithms.signal import peak_indices
17+
from sigima_.algorithms.signal.peakdetection import peak_indices
1818

1919

2020
def test_fit_dialog():

cdl/tests/features/signals/select_xy_cursor_unit_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from cdl.env import execenv
1717
from cdl.tests.data import create_paracetamol_signal
1818
from cdl.widgets.signalcursor import SignalCursorDialog
19-
from sigima_.algorithms.signal import find_first_x_at_y_value
19+
from sigima_.algorithms.signal.features import find_first_x_at_y_value
2020

2121

2222
@pytest.mark.parametrize("cursor_orientation", ["horizontal", "vertical"])

0 commit comments

Comments
 (0)