Skip to content

Commit

Permalink
release (#17)
Browse files Browse the repository at this point in the history
* latest version (#15)

update to latest version and small fix

---------

Co-authored-by: Jianxu Chen <[email protected]>

* fix dependency (#16)

* update version

---------

Co-authored-by: Yu Liu <[email protected]>
  • Loading branch information
jxchen01 and yuliu96 authored Jan 21, 2025
1 parent 641a381 commit 3d790ec
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 25 deletions.
Binary file added intermediates/20241218_022831/bottom_illu/info.npy
Binary file not shown.
Binary file added intermediates/20241218_022831/top_illu/info.npy
Binary file not shown.
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ dependencies = [
"qtpy",
"aicsimageio",
"lsfm_fuse",
"napari[all]",
]

[project.optional-dependencies]
Expand Down
2 changes: 1 addition & 1 deletion src/lsfm_fusion_napari/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
__version__ = "0.1.1"
__version__ = "0.1.2"
from ._widget import FusionWidget
from ._writer import write_tiff

Expand Down
7 changes: 7 additions & 0 deletions src/lsfm_fusion_napari/_dialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@
)
import napari

from PyQt5 import QtGui

font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setPointSize(20)


class GuidedDialog(QWidget):
def __init__(self, parent=None):
Expand All @@ -35,6 +41,7 @@ def __init__(self, parent=None):
parent.logger.debug("GuidedDialog initialized")

def init_ui(self):
self.setFont(font)
self.setLayout(QGridLayout())
try:
self.setStyleSheet(napari.qt.get_stylesheet(theme="dark"))
Expand Down
49 changes: 27 additions & 22 deletions src/lsfm_fusion_napari/_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@
from ._dialog import GuidedDialog
from ._writer import save_dialog, write_tiff

from PyQt5 import QtGui

font = QtGui.QFont()
font.setPointSize(20)


class RegistrationSetting(QGroupBox):
# (15.11.2024) Function 1
Expand All @@ -35,9 +40,7 @@ def __init__(self, parent=None):
self.setTitle("Registration settings")
self.setVisible(False)
self.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum)
self.setStyleSheet(
"QGroupBox {background-color: blue; " "border-radius: 10px}"
)
self.setStyleSheet("QGroupBox { " "border-radius: 10px}")
self.viewer = parent.viewer
self.parent = parent
self.name = "" # layer.name
Expand Down Expand Up @@ -92,9 +95,7 @@ def __init__(self, parent=None):
self.setTitle("General settings")
self.setVisible(False)
self.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum)
self.setStyleSheet(
"QGroupBox {background-color: blue; " "border-radius: 10px}"
)
self.setStyleSheet("QGroupBox {" "border-radius: 10px}")
self.viewer = parent.viewer
self.parent = parent
self.name = "" # layer.name
Expand Down Expand Up @@ -139,7 +140,7 @@ def __init__(self, parent=None):
sld_resample_ratio.valueChanged.connect(self.resample_ratio)
vbox.addWidget(sld_resample_ratio, 4, 1, 1, 2)

self.label_n_epochs = QLabel("Iteration of smoothing: 50")
self.label_n_epochs = QLabel("Maximum iteration: 50")
vbox.addWidget(self.label_n_epochs, 5, 0, 1, 2)
sld_n_epochs = QSlider(Qt.Horizontal)
sld_n_epochs.setRange(10, 300)
Expand All @@ -152,18 +153,16 @@ def __init__(self, parent=None):
self.label_kernel_size_z = QLabel("z: 5")
vbox.addWidget(self.label_kernel_size_z, 6, 1, 1, 1)
sld_kernel_size_z = QSlider(Qt.Horizontal)
sld_kernel_size_z.setRange(1, 49)
sld_kernel_size_z.setPageStep(2)
sld_kernel_size_z.setValue(5)
sld_kernel_size_z.setRange(0, 24)
sld_kernel_size_z.setValue(2)
self.lineedit_window_size_z = 5
sld_kernel_size_z.valueChanged.connect(self.kernel_size_z)
vbox.addWidget(sld_kernel_size_z, 6, 2, 1, 1)
self.label_kernel_size_xy = QLabel("xy: 59")
vbox.addWidget(self.label_kernel_size_xy, 7, 1, 1, 1)
sld_kernel_size_xy = QSlider(Qt.Horizontal)
sld_kernel_size_xy.setRange(9, 199)
sld_kernel_size_xy.setPageStep(2)
sld_kernel_size_xy.setValue(59)
sld_kernel_size_xy.setRange(0, 95)
sld_kernel_size_xy.setValue(25)
self.lineedit_window_size_xy = 59
sld_kernel_size_xy.valueChanged.connect(self.kernel_size_xy)
vbox.addWidget(sld_kernel_size_xy, 7, 2, 1, 1)
Expand All @@ -173,7 +172,6 @@ def __init__(self, parent=None):
vbox.addWidget(self.label_porder_z, 8, 1, 1, 1)
sld_porder_z = QSlider(Qt.Horizontal)
sld_porder_z.setRange(1, 5)
sld_porder_z.setPageStep(1)
sld_porder_z.setValue(2)
self.lineedit_porder_z = 2
sld_porder_z.valueChanged.connect(self.porder_z)
Expand All @@ -182,7 +180,6 @@ def __init__(self, parent=None):
vbox.addWidget(self.label_porder_xy, 9, 1, 1, 1)
sld_porder_xy = QSlider(Qt.Horizontal)
sld_porder_xy.setRange(1, 5)
sld_porder_xy.setPageStep(1)
sld_porder_xy.setValue(2)
self.lineedit_porder_xy = 2
sld_porder_xy.valueChanged.connect(self.porder_xy)
Expand All @@ -201,12 +198,16 @@ def porder_z(self, value: int):
self.label_porder_z.setText("z: {}".format(value))

def kernel_size_xy(self, value: int):
self.lineedit_window_size_xy = value
self.label_kernel_size_xy.setText("xy: {}".format(value))
self.lineedit_window_size_xy = value * 2 + 9
self.label_kernel_size_xy.setText(
"xy: {}".format(self.lineedit_window_size_xy)
)

def kernel_size_z(self, value: int):
self.lineedit_window_size_z = value
self.label_kernel_size_z.setText("z: {}".format(value))
self.lineedit_window_size_z = value * 2 + 1
self.label_kernel_size_z.setText(
"z: {}".format(self.lineedit_window_size_z)
)

def resample_ratio(self, value: int):
self.lineedit_resample_ratio = value
Expand Down Expand Up @@ -325,7 +326,7 @@ def _initialize_ui(self):
# for ease of access

# QLabels
title = QLabel("<h1>LSFM Fusion</h1>")
title = QLabel("<h1>Leonardo-Fuse</h1>")
title.setAlignment(Qt.AlignCenter)
title.setMaximumHeight(100)
self.method = QLabel("")
Expand All @@ -347,7 +348,7 @@ def _initialize_ui(self):
self.label_selected_direction3 = QLabel()
self.label_selected_direction4 = QLabel()
label_req_registration = QLabel("Require registration:")
label_cam_pos = QLabel("Camera position (for fuse_illu):")
label_cam_pos = QLabel("Camera position (for fuse along ill.):")
self.label_lateral_resolution = QLabel("Lateral resolution:")
self.label_lateral_resolution.setVisible(False)
self.label_axial_resolution = QLabel("Axial resolution:")
Expand Down Expand Up @@ -476,6 +477,7 @@ def _initialize_ui(self):

widget = QWidget()
layout.setAlignment(Qt.AlignTop)
widget.setFont(font)
widget.setLayout(layout)

scroll_area = QScrollArea()
Expand Down Expand Up @@ -678,7 +680,10 @@ def _process_on_click(self):
model = FUSE_det(**params["det_init_params"])

output_image = model.train_from_params(params)
self.viewer.add_image(output_image) # set name of layer
self.viewer.add_image(
output_image,
name="fused image",
) # set name of layer

def _get_parameters(self):
self.logger.debug("Compiling parameters")
Expand Down
5 changes: 3 additions & 2 deletions src/lsfm_fusion_napari/napari.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
name: lsfm_fusion_napari
display_name: Leonardo-fusion
visibility: public
display_name: Leonardo-Fuse
# see https://napari.org/stable/plugins/manifest.html for valid categories
categories: ["Visualization", "Image Processing"]
contributions:
Expand All @@ -16,4 +17,4 @@ contributions:
filename_extensions: ['.tiff']
widgets:
- command: lsfm_fusion_napari.make_qwidget
display_name: Fusion Widget
display_name: LSFM Fusion Widget

0 comments on commit 3d790ec

Please sign in to comment.