Wed 28 Aug 21:38:52 CEST 2024
This commit is contained in:
		
							parent
							
								
									791e9c303d
								
							
						
					
					
						commit
						4d3f93c41b
					
				
							
								
								
									
										116
									
								
								src/SimNDT/gui/previewInspectionsController.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								src/SimNDT/gui/previewInspectionsController.py
									
									
									
									
									
										Normal 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() | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user