Wed 28 Aug 21:38:52 CEST 2024

This commit is contained in:
sbosse 2024-08-28 21:40:05 +02:00
parent 791e9c303d
commit 4d3f93c41b

View File

@ -0,0 +1,116 @@
__author__ = 'Miguel Molero'
import time
from PySide.QtGui import *
from PySide.QtCore import *
from SimNDT.graphics.mplWidget import MplCanvas
import numpy as np
class PreviewSingleLaunch(QDialog):
def __init__(self, method, scenario, transducer, parent=None):
super(PreviewSingleLaunch, self).__init__(parent)
self.parent = parent
mpl = MplCanvas(self, width=3, height=3, dpi=100)
M, N = np.shape(scenario.I)
Pixel_mm = scenario.Pixel_mm
XL, YL = method.view(M, N, Pixel_mm, method.Theta, transducer)
mpl.ax.imshow(scenario.I, vmin=0, vmax=255)
mpl.ax.hold(True)
mpl.ax.plot(YL, XL, 'ks')
mpl.ax.axis('off')
w = QWidget(self)
h = QVBoxLayout()
h.addWidget(mpl)
w.setLayout(h)
layout = QVBoxLayout()
layout.addWidget(w)
self.setLayout(layout)
self.setWindowFlags(self.windowFlags() | Qt.WindowStaysOnTopHint)
self.setWindowTitle(self.tr("Preview"))
self.setWindowIcon(QIcon(":/previewImage.png"))
class PreviewLinearScan(QDialog):
def __init__(self, method, inspection, scenario, transducer, parent=None):
super(PreviewLinearScan, self).__init__(parent)
self.parent = parent
self.mpl = MplCanvas(width=5, height=5, dpi=100)
self.mpl.ax.axis('off')
layout = QVBoxLayout()
layout.addWidget(self.mpl)
self.setLayout(layout)
self.setWindowFlags(self.windowFlags() | Qt.WindowStaysOnTopHint)
self.setWindowTitle(self.tr("Preview"))
self.setWindowIcon(QIcon(":/previewImage.png"))
self.method = method
self.inspection = inspection
self.scenario = scenario
self.transducer = transducer
QTimer.singleShot(300, self.Show)
def Show(self):
M, N = np.shape(self.scenario.I)
Pixel_mm = self.scenario.Pixel_mm
for offset in self.inspection.ScanVector:
self.transducer.CenterOffset = offset
XL, YL = self.method.view(M, N, Pixel_mm, self.method.Theta, self.transducer)
self.mpl.ax.imshow(self.scenario.I, vmin=0, vmax=255)
self.mpl.ax.hold(True)
self.mpl.ax.plot(YL, XL, 'ks')
self.mpl.ax.axis('off')
self.mpl.ax.hold(False)
self.mpl.draw()
QCoreApplication.processEvents()
time.sleep(0.25)
class PreviewTomography(QDialog):
def __init__(self, inspection, scenario, transducer, parent=None):
super(PreviewTomography, self).__init__(parent)
self.parent = parent
self.mpl = MplCanvas(width=5, height=5, dpi=100)
self.mpl.ax.axis('off')
layout = QVBoxLayout()
layout.addWidget(self.mpl)
self.setLayout(layout)
self.setWindowFlags(self.windowFlags() | Qt.WindowStaysOnTopHint)
self.setWindowTitle(self.tr("Preview"))
self.setWindowIcon(QIcon(":/previewImage.png"))
self.inspection = inspection
self.scenario = scenario
self.transducer = transducer
QTimer.singleShot(300, self.Show)
def Show(self):
M, N = np.shape(self.scenario.I)
Pixel_mm = self.scenario.Pixel_mm
DiameterRing = self.inspection.DiameterRing
Theta = self.inspection.Theta
XL, YL = self.inspection.view(M, N, DiameterRing, Pixel_mm, Theta, self.transducer)
self.mpl.ax.imshow(self.scenario.I, vmin=0, vmax=255)
self.mpl.ax.hold(True)
self.mpl.ax.plot(YL, XL, 'ks')
self.mpl.ax.axis('off')
self.mpl.ax.hold(False)
self.mpl.draw()