Skip to content

Commit cbd02a9

Browse files
committed
added evaluated measurement example load for spheroid
1 parent deb5344 commit cbd02a9

13 files changed

+26
-53
lines changed

saenopy/examples.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,8 @@ def get_examples_spheroid():
165165
"input": example_path / 'MCF7-time-lapse/20160912-122130_Mic3_rep?_pos*_x0_y0_modeBF_zMinProj.tif',
166166
"output_path": example_path / 'MCF7-time-lapse/example_output',
167167
"url": "https://github.com/rgerum/saenopy/releases/download/v0.7.4/MCF7-time-lapse.zip",
168-
#"url_evaluated": "https://github.com/rgerum/saenopy/releases/download/v0.7.4/MCF7-time-lapse_evaluated.zip",
169-
#"url_evaluated_file": ["KO/04_bf_before.saenopy2D", "KO/05_bf_before.saenopy2D", "WT/03_bf_before.saenopy2D", "WT/10_bf_before.saenopy2D"],
168+
"url_evaluated": "https://github.com/rgerum/saenopy/releases/download/v0.7.4/MCF7-time-lapse_evaluated.zip",
169+
"url_evaluated_file": ["20160912-122130_Mic3_rep{t}_pos6_x0_y0_modeBF_zMinProj.saenopySpheroid"],
170170
},
171171
}
172172

saenopy/gui/common/AddFilesDialog.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import sys
22
import os
3+
import time
34
from qtpy import QtCore, QtWidgets, QtGui
45
from saenopy.gui.common import QtShortCuts
56
import saenopy
@@ -10,7 +11,7 @@ class AddFilesDialog(QtWidgets.QDialog):
1011
mode_data: str = None
1112
start_time: float = 0
1213

13-
file_extenstion = None
14+
file_extension = None
1415
settings_group = "batch"
1516

1617
examples_list = None
@@ -19,11 +20,11 @@ def add_new_measurement_tab(self):
1920
pass
2021

2122
def add_existing_measurent_tab(self):
22-
if self.file_extenstion is None:
23+
if self.file_extension is None:
2324
return
2425
with self.tabs.createTab("Existing Measurement") as self.tab3:
2526
self.outputText3 = QtShortCuts.QInputFilename(None, "output", settings=self.settings,
26-
file_type=f"Results Files (*{self.file_extenstion})",
27+
file_type=f"Results Files (*{self.file_extension})",
2728
settings_key=f"{self.settings_group}/wildcard_existing",
2829
allow_edit=True, existing=True)
2930
self.tab3.addStretch()

saenopy/gui/solver/modules/load_measurement_dialog.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,15 @@
1-
import sys
21
from qtpy import QtCore, QtWidgets, QtGui
3-
import time
42

5-
import saenopy
6-
import saenopy.multigrid_helper
7-
import saenopy.get_deformations
8-
import saenopy.multigrid_helper
9-
import saenopy.materials
103
from saenopy.gui.common import QtShortCuts
114
from saenopy.gui.common.stack_selector import StackSelector
125
from saenopy.gui.common.stack_selector_crop import StackSelectorCrop
136
from saenopy.gui.common.stack_preview import StackPreview
14-
157
from saenopy.examples import get_examples
16-
178
from saenopy.gui.common.AddFilesDialog import AddFilesDialog
189

10+
1911
class AddFilesDialog(AddFilesDialog):
20-
file_extenstion = ".saenopy"
12+
file_extension = ".saenopy"
2113
settings_group = "batch"
2214

2315
examples_list = get_examples()

saenopy/gui/spheroid/modules/AddFilesDialog.py

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,18 @@
1-
import sys
2-
3-
# Setting the Qt bindings for QtPy
41
import os
52

6-
import pandas as pd
7-
import qtawesome as qta
8-
9-
os.environ["QT_API"] = "pyqt5"
10-
113
from qtpy import QtCore, QtWidgets, QtGui
124

135
import numpy as np
146
from natsort import natsorted
157

16-
17-
from saenopy.gui.common import QtShortCuts, QExtendedGraphicsView
18-
from qimage2ndarray import array2qimage
19-
import matplotlib.pyplot as plt
20-
import imageio
21-
import threading
22-
import glob
23-
import time
24-
25-
from matplotlib.figure import Figure
26-
import jointforces as jf
27-
import urllib
28-
from pathlib import Path
29-
30-
import ctypes
31-
import saenopy
8+
from saenopy.gui.common import QtShortCuts
329
from saenopy.examples import get_examples_spheroid
3310
from saenopy.gui.common.AddFilesDialog import AddFilesDialog
3411

12+
3513
class AddFilesDialog(AddFilesDialog):
3614
settings_group = "open_sheriod"
15+
file_extension = ".saenopySpheroid"
3716

3817
examples_list = get_examples_spheroid()
3918

saenopy/gui/spheroid/modules/BatchEvaluate.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,13 @@ def add_measurement(self):
7070
output_path = example["output_path"]
7171
pixel_size = example["pixel_size"]
7272
time_delta = example["time_delta"]
73+
elif dialog.mode == "example_evaluated":
74+
self.load_from_path(dialog.examples_output)
75+
return
76+
# load existing files
77+
elif dialog.mode == "existing":
78+
self.load_from_path(dialog.outputText3.value())
79+
return
7380

7481
results = get_stacks_spheroid(
7582
input_path,

saenopy/gui/spheroid/modules/result.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ def __init__(self, template, images, output, **kwargs):
6565
self.res_angles = {}
6666

6767
super().__init__(**kwargs)
68-
print(self.pixel_size)
6968

7069
def save(self, file_name=None):
7170
if file_name is None:
@@ -100,14 +99,12 @@ def get_data_structure(self):
10099

101100
def get_image_data(self, time_point, channel="default", use_reference=False):
102101
im = imread(self.images[time_point])
103-
print(im.shape, im.dtype)
104102
if len(im.shape) == 2:
105103
return im[:, :, None, None]
106104
return im[:, :, :, None]
107105

108106
def get_field_data(self, name, time_point):
109107
if self.displacements is not None and time_point > 0:
110-
print(time_point)
111108
try:
112109
disp = self.displacements[time_point - 1]
113110
mesh = Mesh2D()
@@ -118,7 +115,6 @@ def get_field_data(self, name, time_point):
118115
if mesh is not None:
119116
return mesh, mesh.displacements_measured
120117
except IndexError:
121-
print("index err")
122118
pass
123119
return None, None
124120

@@ -143,7 +139,6 @@ def get_stacks_spheroid(input_path, output_path,
143139
load_existing=False) -> List[ResultSpheroid]:
144140
text = os.path.normpath(input_path)
145141
glob_string = text.replace("?", "*")
146-
# print("globbing", glob_string)
147142
files = natsorted(glob.glob(glob_string))
148143

149144
output_base = glob_string
@@ -156,7 +151,6 @@ def get_stacks_spheroid(input_path, output_path,
156151
results = []
157152
for file in files:
158153
file = os.path.normpath(file)
159-
#print(file, regex_string)
160154
match = re.match(regex_string, file).groups()
161155
reconstructed_file = regex_string
162156
for element in match:
@@ -165,7 +159,7 @@ def get_stacks_spheroid(input_path, output_path,
165159
reconstructed_file = re.sub(r'\\(.)', r'\1', reconstructed_file)
166160

167161
if reconstructed_file not in data_dict:
168-
output = Path(output_path) / os.path.relpath(file, output_base)
162+
output = Path(output_path) / os.path.relpath(reconstructed_file.replace("*", "{t}"), output_base)
169163
output = output.parent / (output.stem + ".saenopySpheroid")
170164

171165
if output.exists():

saenopy/gui/tfm2d/modules/CalculateDisplacements.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from pyTFM.TFM_functions import calculate_deformation
1414
from pyTFM.plotting import show_quiver
1515
from pyTFM.frame_shift_correction import correct_stage_drift
16-
from saenopy.gui.solver.modules.code_export import get_code
16+
from saenopy.gui.common.code_export import get_code
1717
from typing import List, Tuple
1818

1919

saenopy/gui/tfm2d/modules/CalculateForceGeneration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
except ImportError:
1919
from scipy.ndimage.morphology import binary_fill_holes
2020
from pyTFM.grid_setup_solids_py import interpolation # a simple function to resize the mask
21-
from saenopy.gui.solver.modules.code_export import get_code
21+
from saenopy.gui.common.code_export import get_code
2222
from typing import List, Tuple
2323

2424

saenopy/gui/tfm2d/modules/CalculateForces.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from pyTFM.TFM_functions import TFM_tractions
1313
from pyTFM.plotting import show_quiver
1414
import numpy as np
15-
from saenopy.gui.solver.modules.code_export import get_code
15+
from saenopy.gui.common.code_export import get_code
1616
from typing import List, Tuple
1717

1818

saenopy/gui/tfm2d/modules/CalculateStress.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
from pyTFM.plotting import plot_continuous_boundary_stresses
2626
from pyTFM.stress_functions import all_stress_measures, coefficient_of_variation
2727
from pyTFM.stress_functions import mean_stress_vector_norm
28-
from saenopy.gui.solver.modules.code_export import get_code
28+
from saenopy.gui.common.code_export import get_code
2929
from typing import List, Tuple
3030

3131

saenopy/gui/tfm2d/modules/DisplayCellImage.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from .PipelineModule import PipelineModule
22
from tifffile import imread
3-
from saenopy.gui.solver.modules.code_export import get_code
3+
from saenopy.gui.common.code_export import get_code
44
from typing import List, Tuple
55
from saenopy.gui.tfm2d.modules.result import Result2D, get_stacks2D
66
from pathlib import Path

saenopy/gui/tfm2d/modules/DisplayDeformed.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from pyTFM.frame_shift_correction import correct_stage_drift
77
from .result import Result2D
88
from pathlib import Path
9-
from saenopy.gui.solver.modules.code_export import get_code
9+
from saenopy.gui.common.code_export import get_code
1010
from typing import List, Tuple
1111

1212
class DeformationDetector2(PipelineModule):

saenopy/gui/tfm2d/modules/load_measurement_dialog.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from saenopy.gui.common.AddFilesDialog import AddFilesDialog
1919

2020
class AddFilesDialog(AddFilesDialog):
21-
file_extenstion = ".saenopy2D"
21+
file_extension = ".saenopy2D"
2222
settings_group = "open_2d"
2323

2424
examples_list = get_examples_2D()

0 commit comments

Comments
 (0)