Skip to content

Commit

Permalink
Pixel size widget
Browse files Browse the repository at this point in the history
  • Loading branch information
faymanns committed Oct 4, 2024
1 parent b87e9e6 commit 2e5cde2
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions src/napari_splinebox/_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ def __init__(self, viewer: "napari.viewer.Viewer"):
self._arc_length_sampling_widget = magicgui.widgets.CheckBox(
text="Arc length sampling (slow, only click before saving)"
)
self._pixel_size_widget = magicgui.widgets.create_widget(
1.0, label="Pixel size:"
)
self._save_folder_widget = magicgui.widgets.FileEdit(
mode="d", label="Folder"
)
Expand Down Expand Up @@ -69,6 +72,7 @@ def __init__(self, viewer: "napari.viewer.Viewer"):
self._point_type_widget,
self._steps_widget,
self._arc_length_sampling_widget,
self._pixel_size_widget,
self._save_folder_widget,
self._save_file_name_widget,
self._save_extension_widget,
Expand Down Expand Up @@ -156,15 +160,16 @@ def _save(self):
extension = self._save_extension_widget.value
path = folder / (file_name + extension)
splines, ts = self._update_spline_layer()
pixel_size = self._pixel_size_widget.value
dict_df = collections.defaultdict(list)
for spline_id, (spline, t) in enumerate(zip(splines, ts)):
dict_df["ID"].extend([spline_id] * len(t))
values = spline.eval(t)
# TODO extend to higher dimension
dict_df["t"].extend(t)
dict_df["y"].extend(values[:, 0])
dict_df["x"].extend(values[:, 1])
dict_df["length"].extend(spline.arc_length(t))
dict_df["curvature"].extend(spline.curvature(t))
dict_df["y"].extend(values[:, 0] * pixel_size)
dict_df["x"].extend(values[:, 1] * pixel_size)
dict_df["length"].extend(spline.arc_length(t) * pixel_size)
dict_df["curvature"].extend(spline.curvature(t) / pixel_size)
df = pd.DataFrame(dict_df)
df.to_csv(path)

0 comments on commit 2e5cde2

Please sign in to comment.