diff --git a/__init__.py b/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/gepard.py b/__main__.py
similarity index 97%
rename from gepard.py
rename to __main__.py
index 76d3ac8f753714528aacce98a7dc99094b12ca6a..5970f1644ff3e437aac35d2806837dd99e76b2e3 100755
--- a/gepard.py
+++ b/__main__.py
@@ -18,13 +18,13 @@ You should have received a copy of the GNU General Public License
along with this program, see COPYING.
If not, see .
"""
-from PyQt5 import QtCore, QtWidgets, QtGui
-from sampleview import SampleView
-from scalebar import ScaleBar
-from ramancom.ramancontrol import defaultPath
-from ramancom.ramanSwitch import RamanSwitch
-from colorlegend import ColorLegend
import os
+from PyQt5 import QtCore, QtWidgets, QtGui
+from .sampleview import SampleView
+from .scalebar import ScaleBar
+from .ramancom.ramancontrol import defaultPath
+from .ramancom.ramanSwitch import RamanSwitch
+from .colorlegend import ColorLegend
class MeasureParticleWindow(QtWidgets.QMainWindow):
@@ -116,7 +116,7 @@ class MeasureParticleWindow(QtWidgets.QMainWindow):
def createActions(self):
fname = os.path.join(os.path.split(__file__)[0],
- os.path.join("data","brand.png"))
+ os.path.join('data', 'brand.png'))
self.aboutAct = QtWidgets.QAction(QtGui.QIcon(fname),
"About Particle Measurment", self)
self.aboutAct.triggered.connect(self.about)
@@ -330,4 +330,4 @@ if __name__ == '__main__':
meas.showMaximized()
ret = app.exec_()
if fp is not None:
- fp.close()
\ No newline at end of file
+ fp.close()
diff --git a/analysis/datastats.py b/analysis/datastats.py
index bc1a5ed378a0436b3ce3b7d846ef0a87e203bebc..ca847ad799b9b2f6348a1bdb5ba025be6b8979d3 100644
--- a/analysis/datastats.py
+++ b/analysis/datastats.py
@@ -21,7 +21,7 @@ If not, see .
import os
import numpy as np
import operator
-from dataset import loadData, recursiveDictCompare
+from ..dataset import loadData, recursiveDictCompare
def readDataStats(fname):
@@ -215,4 +215,4 @@ class DataStats(object):
def testRead(self):
statsread = readDataStats(self.dataset.fname)
return recursiveDictCompare(self.__dict__, statsread.__dict__)
-
\ No newline at end of file
+
diff --git a/dataset.py b/dataset.py
index 4cac3e336b48b439e07ec47e703a30ac6ae5bf7e..f11f44762f7daa1b1bd614acd5c181738f49fa4e 100644
--- a/dataset.py
+++ b/dataset.py
@@ -22,7 +22,7 @@ import os
import pickle
import numpy as np
import cv2
-from helperfunctions import cv2imread_fix, cv2imwrite_fix
+from .helperfunctions import cv2imread_fix, cv2imwrite_fix
from copy import copy
currentversion = 2
diff --git a/detectionview.py b/detectionview.py
index 923d3a9e0dca49eeff97adeb150b44d90208d68e..03d9cac54d5bcb8ee9286d9b216d77855d6dd40e 100755
--- a/detectionview.py
+++ b/detectionview.py
@@ -20,7 +20,7 @@ If not, see .
"""
import numpy as np
from PyQt5 import QtCore, QtWidgets, QtGui
-from segmentation import Segmentation
+from .segmentation import Segmentation
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg
import matplotlib.pyplot as plt
from threading import Thread
@@ -690,4 +690,4 @@ if __name__ == "__main__":
view = ParticleDetectionView(img, ds, None)
view.setDataSet(ds)
view.show()
- app.exec_()
\ No newline at end of file
+ app.exec_()
diff --git a/opticalscan.py b/opticalscan.py
index 32f651ac0f1ddcfe2c192da2b8cc8b7ba9500fb7..c3506227248a939b25886b1e6fd80c1aeef01790 100755
--- a/opticalscan.py
+++ b/opticalscan.py
@@ -23,10 +23,10 @@ from PyQt5 import QtCore, QtWidgets
import numpy as np
from multiprocessing import Process, Queue, Event
import queue
-from imagestitch import imageStacking
+from .imagestitch import imageStacking
import os
import cv2
-from helperfunctions import cv2imread_fix, cv2imwrite_fix
+from .helperfunctions import cv2imread_fix, cv2imwrite_fix
from time import time
import datetime
import sys
@@ -636,4 +636,4 @@ if __name__ == "__main__":
ds = DataSet('Test')
optscan = OpticalScan(SimulatedRaman(), ds)
optscan.show()
- sys.exit(app.exec_())
\ No newline at end of file
+ sys.exit(app.exec_())
diff --git a/ramancom/ramancontrol.py b/ramancom/ramancontrol.py
index 7d0174ec982a7b6c4384663b107fb99060e8ff6d..6aa0424ceb1929aba1d499139ee3935a4ca3afa0 100644
--- a/ramancom/ramancontrol.py
+++ b/ramancom/ramancontrol.py
@@ -43,19 +43,19 @@ except KeyError:
pass
if interface == "SIMULATED_RAMAN_CONTROL":
- from ramancom.simulatedraman import SimulatedRaman
+ from .simulatedraman import SimulatedRaman
RamanControl = SimulatedRaman
print("WARNING: using only simulated raman control!")
simulatedRaman = True
elif interface == "WITEC_CONTROL":
- from ramancom.WITecCOM import WITecCOM
+ from .WITecCOM import WITecCOM
RamanControl = WITecCOM
RamanControl.magn = int(config["General Microscope Setup"]["magnification"]) # not yet implemented in WITecCOM, but would probably be a good idea...
simulatedRaman = False
elif interface == "RENISHAW_CONTROL":
- from ramancom.renishawcom import RenishawCOM
+ from .renishawcom import RenishawCOM
RamanControl = RenishawCOM
RamanControl.magn = int(config["General Microscope Setup"]["magnification"])
try:
diff --git a/ramancom/simulatedraman.py b/ramancom/simulatedraman.py
index 13c96b4b0a6e35844d76c6992b57cd850498d2a2..6cc7f1cb64c82ae82831bde67d8799316dfef5c4 100644
--- a/ramancom/simulatedraman.py
+++ b/ramancom/simulatedraman.py
@@ -24,7 +24,7 @@ Simualted Raman interface module for testing without actual raman system connect
from time import sleep
import numpy as np
from shutil import copyfile
-from ramancom.ramanbase import RamanBase
+from .ramanbase import RamanBase
class SimulatedRaman(RamanBase):
@@ -117,4 +117,4 @@ class SimulatedRaman(RamanBase):
print("Scan number:", num)
sleep(.1)
if num==self.timeseries-1:
- self.timeseries = False
\ No newline at end of file
+ self.timeseries = False
diff --git a/ramanscanui.py b/ramanscanui.py
index 443ed92b12525356a06270e0f4782e7722a21cb3..7e66b37e08c3e1dc92c3d13d7c441dd1fbad2e79 100644
--- a/ramanscanui.py
+++ b/ramanscanui.py
@@ -24,7 +24,7 @@ import numpy as np
from multiprocessing import Process, Queue, Event
import queue
from time import time
-from external import tsp
+from .external import tsp
import datetime
import sys
import os
@@ -289,4 +289,4 @@ class RamanScanUI(QtWidgets.QWidget):
self.close()
return
self.timer.start(100.)
-
\ No newline at end of file
+
diff --git a/sampleview.py b/sampleview.py
index dfae213bf99bde60d5ff11fb2c28b79a68b6d17c..4e0b4c54ff433c4627ed3e98821160abc3f4f347 100644
--- a/sampleview.py
+++ b/sampleview.py
@@ -21,17 +21,17 @@ If not, see .
from PyQt5 import QtCore, QtGui, QtWidgets
import numpy as np
import os
-from dataset import DataSet, loadData
-from ramancom.ramancontrol import RamanControl, simulatedRaman
-from opticalscan import OpticalScan
-from ramanscanui import RamanScanUI
-from detectionview import ParticleDetectionView
-from analysis.analysisview import ParticleAnalysis
-from zeissimporter import ZeissImporter
-from viewitems import FitPosIndicator, Node, Edge, ScanIndicator, RamanScanIndicator, SegmentationContours
-from helperfunctions import polygoncovering, cv2imread_fix
+from .dataset import DataSet, loadData
+from .ramancom.ramancontrol import RamanControl, simulatedRaman
+from .opticalscan import OpticalScan
+from .ramanscanui import RamanScanUI
+from .detectionview import ParticleDetectionView
+from .analysis.analysisview import ParticleAnalysis
+from .zeissimporter import ZeissImporter
+from .viewitems import FitPosIndicator, Node, Edge, ScanIndicator, RamanScanIndicator, SegmentationContours
+from .helperfunctions import polygoncovering, cv2imread_fix
import cv2
-from ramancom.configRaman import RamanConfigWin
+from .ramancom.configRaman import RamanConfigWin
class SampleView(QtWidgets.QGraphicsView):
ScalingChanged = QtCore.pyqtSignal(float)
@@ -168,10 +168,12 @@ class SampleView(QtWidgets.QGraphicsView):
if mode is None:
return
assert mode in ["OpticalScan", "ParticleDetection", "RamanScan", "ParticleAnalysis"]
+ print("switching to mode:", mode, flush=True)
self.oscanwidget.setVisible(False)
if self.detectionwidget is not None:
self.detectionwidget.close()
self.detectionwidget.destroy()
+ self.detectionwidget = None
self.ramanwidget.setVisible(False)
self.contouritem.resetContours([])
self.mode = mode
@@ -186,6 +188,7 @@ class SampleView(QtWidgets.QGraphicsView):
self.detectionwidget.show()
self.detectionwidget.imageUpdate.connect(self.detectionUpdate)
self.detectionwidget.detectionFinished.connect(self.activateMaxMode)
+ self.detectionwidget.setVisible(True)
elif mode == "RamanScan":
self.ramanwidget.resetDataset(self.dataset)
@@ -313,8 +316,8 @@ class SampleView(QtWidgets.QGraphicsView):
x, y, z = self.dataset.mapToLengthRaman([p0.x(), p0.y()],
microscopeMode=self.microscopeMode,
noz=(False if self.mode=="RamanScan" else True))
- if z is not None:
- assert z>-100.
+ #if z is not None:
+ # assert z>-100.
self.ramanctrl.moveToAbsolutePosition(x, y, z)
elif event.button()==QtCore.Qt.LeftButton and self.mode=="ParticleDetection":
p0 = self.mapToScene(event.pos())
@@ -534,4 +537,4 @@ class SampleView(QtWidgets.QGraphicsView):
self.scene().removeItem(item)
self.ramanscanitems = []
-
\ No newline at end of file
+
diff --git a/zeissimporter.py b/zeissimporter.py
index 761e697960416c84cf89865457f48e3dc076e459..8f2f54feb1e2df928615e14877b26f38f3580d96 100644
--- a/zeissimporter.py
+++ b/zeissimporter.py
@@ -20,11 +20,11 @@ If not, see .
"""
import os
from PyQt5 import QtCore, QtWidgets
-from zeissxml import ZeissHandler, make_parser
-from opticalscan import PointCoordinates
-from helperfunctions import cv2imread_fix, cv2imwrite_fix
-from ramancom.ramancontrol import defaultPath
-from dataset import DataSet
+from .zeissxml import ZeissHandler, make_parser
+from .opticalscan import PointCoordinates
+from .helperfunctions import cv2imread_fix, cv2imwrite_fix
+from .ramancom.ramancontrol import defaultPath
+from .dataset import DataSet
from scipy.optimize import least_squares
from itertools import permutations
import cv2