Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

latest version #15

Merged
merged 2 commits into from
Jan 21, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.
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