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