pyclickimage 2.0.3__tar.gz → 2.0.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/.bumpver.toml +1 -1
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/.gitignore +3 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/PKG-INFO +1 -1
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/pyclickimage/__version__.py +1 -1
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/pyclickimage/click_image_app.py +29 -15
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/pyclickimage.egg-info/PKG-INFO +1 -1
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/.github/workflows/publish.yml +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/.github/workflows/sphinx.yml +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/.gitlab-ci.yml +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/COPYING +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/LICENSE +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/Makefile +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/README.md +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/docs/source/api.rst +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/docs/source/api_doc/click_image_app.rst +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/docs/source/api_doc/click_manager.rst +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/docs/source/api_doc/image_viewer.rst +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/docs/source/api_doc/run.rst +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/docs/source/conf.py +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/docs/source/index.rst +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/docs/source/installation.rst +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/docs/source/usage.rst +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/docs/source/usage_doc/extracting_the_clicks.rst +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/docs/source/usage_doc/running_the_GUI.rst +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/docs/source/usage_doc/using_the_GUI.rst +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/examples/clicks.csv +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/examples/example.png +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/examples/example.py +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/pyclickimage/__init__.py +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/pyclickimage/__main__.py +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/pyclickimage/click_manager.py +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/pyclickimage/image_viewer.py +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/pyclickimage/resources/__init__.py +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/pyclickimage/resources/app.png +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/pyclickimage/run.py +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/pyclickimage.egg-info/SOURCES.txt +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/pyclickimage.egg-info/dependency_links.txt +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/pyclickimage.egg-info/entry_points.txt +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/pyclickimage.egg-info/requires.txt +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/pyclickimage.egg-info/top_level.txt +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/pyproject.toml +0 -0
- {pyclickimage-2.0.3 → pyclickimage-2.0.4}/setup.cfg +0 -0
|
@@ -119,7 +119,7 @@ class ClickImageApp(QtWidgets.QMainWindow):
|
|
|
119
119
|
|
|
120
120
|
layout = QtWidgets.QHBoxLayout()
|
|
121
121
|
central.setLayout(layout)
|
|
122
|
-
|
|
122
|
+
|
|
123
123
|
quit_action = QtWidgets.QAction("Quit", self)
|
|
124
124
|
quit_action.setShortcut("Ctrl+Q")
|
|
125
125
|
quit_action.triggered.connect(self.close)
|
|
@@ -170,7 +170,7 @@ class ClickImageApp(QtWidgets.QMainWindow):
|
|
|
170
170
|
row.addWidget(self.colormap_selector)
|
|
171
171
|
|
|
172
172
|
side.addLayout(row)
|
|
173
|
-
|
|
173
|
+
|
|
174
174
|
self.loadc_btn = QtWidgets.QPushButton("Load Clicks")
|
|
175
175
|
self.loadc_btn.clicked.connect(self.on_load_clicks)
|
|
176
176
|
side.addWidget(self.loadc_btn)
|
|
@@ -282,7 +282,7 @@ class ClickImageApp(QtWidgets.QMainWindow):
|
|
|
282
282
|
toolbar.addAction("Reset View", self.viewer.reset_view)
|
|
283
283
|
|
|
284
284
|
toolbar.addSeparator()
|
|
285
|
-
|
|
285
|
+
|
|
286
286
|
# ============================================================
|
|
287
287
|
# Crosser color (button + preview)
|
|
288
288
|
# ============================================================
|
|
@@ -341,7 +341,25 @@ class ClickImageApp(QtWidgets.QMainWindow):
|
|
|
341
341
|
size_layout.setContentsMargins(0, 0, 0, 0)
|
|
342
342
|
|
|
343
343
|
self.size_selector = QtWidgets.QComboBox()
|
|
344
|
-
self.size_selector.addItems(
|
|
344
|
+
self.size_selector.addItems(
|
|
345
|
+
[
|
|
346
|
+
"0.2",
|
|
347
|
+
"0.5",
|
|
348
|
+
"1",
|
|
349
|
+
"2",
|
|
350
|
+
"4",
|
|
351
|
+
"6",
|
|
352
|
+
"8",
|
|
353
|
+
"10",
|
|
354
|
+
"12",
|
|
355
|
+
"16",
|
|
356
|
+
"20",
|
|
357
|
+
"30",
|
|
358
|
+
"50",
|
|
359
|
+
"75",
|
|
360
|
+
"100",
|
|
361
|
+
]
|
|
362
|
+
)
|
|
345
363
|
self.size_selector.setCurrentText("8")
|
|
346
364
|
self.size_selector.currentTextChanged.connect(self.on_marker_size_changed)
|
|
347
365
|
|
|
@@ -470,7 +488,7 @@ class ClickImageApp(QtWidgets.QMainWindow):
|
|
|
470
488
|
self.update_groups()
|
|
471
489
|
self.update_table()
|
|
472
490
|
self.update_viewer()
|
|
473
|
-
|
|
491
|
+
|
|
474
492
|
def _format_value(self, v):
|
|
475
493
|
if v is None:
|
|
476
494
|
return ""
|
|
@@ -516,7 +534,7 @@ class ClickImageApp(QtWidgets.QMainWindow):
|
|
|
516
534
|
if x is None or y is None:
|
|
517
535
|
continue
|
|
518
536
|
self.viewer.add_marker((x, y), self.marker_color, self.marker_size)
|
|
519
|
-
|
|
537
|
+
|
|
520
538
|
def update_table(self):
|
|
521
539
|
r"""
|
|
522
540
|
Update table with current group points.
|
|
@@ -527,7 +545,7 @@ class ClickImageApp(QtWidgets.QMainWindow):
|
|
|
527
545
|
self.table.setHorizontalHeaderLabels(["Index", "X (float)", "Y (float)"])
|
|
528
546
|
else:
|
|
529
547
|
self.table.setHorizontalHeaderLabels(["Index", "X (int)", "Y (int)"])
|
|
530
|
-
|
|
548
|
+
|
|
531
549
|
self.table.setRowCount(len(pts))
|
|
532
550
|
|
|
533
551
|
for i, (x, y) in enumerate(pts):
|
|
@@ -628,7 +646,6 @@ class ClickImageApp(QtWidgets.QMainWindow):
|
|
|
628
646
|
f"background-color: {color.name()}; border: 1px solid black;"
|
|
629
647
|
)
|
|
630
648
|
|
|
631
|
-
|
|
632
649
|
def choose_color(self):
|
|
633
650
|
color = QtWidgets.QColorDialog.getColor(self.marker_color, self)
|
|
634
651
|
|
|
@@ -646,7 +663,7 @@ class ClickImageApp(QtWidgets.QMainWindow):
|
|
|
646
663
|
"""
|
|
647
664
|
|
|
648
665
|
try:
|
|
649
|
-
self.marker_size =
|
|
666
|
+
self.marker_size = float(value)
|
|
650
667
|
except ValueError:
|
|
651
668
|
self.marker_size = 8
|
|
652
669
|
|
|
@@ -808,17 +825,14 @@ class ClickImageApp(QtWidgets.QMainWindow):
|
|
|
808
825
|
self.save_csv()
|
|
809
826
|
if self.output_path is None:
|
|
810
827
|
self.output_path = output_path
|
|
811
|
-
|
|
828
|
+
|
|
812
829
|
def on_load_clicks(self):
|
|
813
830
|
r"""
|
|
814
831
|
Load clicks from CSV and replace current data.
|
|
815
832
|
"""
|
|
816
833
|
|
|
817
834
|
file_path, _ = QtWidgets.QFileDialog.getOpenFileName(
|
|
818
|
-
self,
|
|
819
|
-
"Load Clicks",
|
|
820
|
-
"",
|
|
821
|
-
"CSV Files (*.csv)"
|
|
835
|
+
self, "Load Clicks", "", "CSV Files (*.csv)"
|
|
822
836
|
)
|
|
823
837
|
|
|
824
838
|
if not file_path:
|
|
@@ -831,7 +845,7 @@ class ClickImageApp(QtWidgets.QMainWindow):
|
|
|
831
845
|
self,
|
|
832
846
|
"Load clicks",
|
|
833
847
|
"This will replace current clicks. Continue?",
|
|
834
|
-
QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No
|
|
848
|
+
QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No,
|
|
835
849
|
)
|
|
836
850
|
|
|
837
851
|
if reply == QtWidgets.QMessageBox.No:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|