Voxel Calibration Wizard

Source code for CalibrationWizard

from PySide import QtGui
from PySide import QtCore
import sys
import os
import Voxel
from wizard.CalibrationInitPage import CalibrationInitPage
from wizard.CalibrationSelectPage import CalibrationSelectPage
from wizard.CalibrationLensPage import CalibrationLensPage
from wizard.CalibrationConclusionsPage import CalibrationConclusionPage
from wizard.CalibrationTemperaturePage import CalibrationTemperaturePage
# from CalibrationCommonPhase import CalibrationCommonPhasePage
from wizard.CalibrationPerPixelOffsetPage import CalibrationPerPixelOffsetPage
from wizard.CalibrationCommonPhase import CalibrationCommonPhasePage
from wizard.CalibrationNonLinearityPage import CalibrationNonLinearityPage
# from CalibrationDataCaptureDialog import CalibrationDataCaptureDialog
from wizard.CalibrationHDRCommonPhaseOffset import CalibrationHDRCommonPhasePage
from wizard.CalibrationCaptureData import CalibrationDataCapturePage
from wizard.CalibrationPage import CalibrationPage
from collections import OrderedDict
# import ConfigParser


[docs]class CalibrationWizard (QtGui.QWizard): """ Run this file to start the wizard This file contains the main code which runs the wizard. Includes all calibrations and all calibration pages """ def __init__(self): super (CalibrationWizard, self).__init__() # self.depthCamera = Voxel.DepthCamera() self.cameraSystem = Voxel.CameraSystem() self.devices = self.cameraSystem.scan() if self.devices: self.depthCamera = self.cameraSystem.connect(self.devices[0]) else: self.depthCamera = None ret, self.profilePath = Voxel.Configuration().getLocalPath('profiles') self.configPath = os.getcwd() + os.sep + '..' # self.editIndex = editIndex self.setMinimumHeight(600) self.setMinimumWidth(400) self.setWizardStyle(QtGui.QWizard.ModernStyle) self.setWindowTitle('Calibration Wizard') self.addPage (CalibrationInitPage(self)) self.addPage(CalibrationSelectPage(self)) self.profileName = None self.calibs = OrderedDict() self.paths = {} self.dataCapture = [] self.pages = {} self.calibParams = {} self.chipset = None self.previousConfiguration = [] self.previousConfigurations = {} self.calibPages = [ ('lens', CalibrationLensPage(self)), ('capture', CalibrationDataCapturePage(self)), ('nonLinearity', CalibrationNonLinearityPage(self)), ('temperature', CalibrationTemperaturePage(self)), ('commonPhase', CalibrationCommonPhasePage(self)), ('hdrCommonPhase', CalibrationHDRCommonPhasePage(self)), ('perPixel', CalibrationPerPixelOffsetPage(self)) ] for name, page in self.calibPages: self.addCalibrationPage(name, page) self.addPage(CalibrationConclusionPage(self))
[docs] def addCalibrationPage(self, name, page): self.pages[name] = page self.addPage(page)
[docs] def setPreviousConfiguration(self, id): c = self.depthCamera.configFile.getCameraProfile(id) if not c: QtGui.QMessageBox.critical(self, 'Calibration Wizard', 'Could not get configuration for camera profile "' + self.depthCamera.getCurrentCameraProfileID() + '"') return self.previousConfiguration = Voxel.ConfigurationFile(c) self.previousProfileID = self.depthCamera.getCurrentCameraProfileID()
[docs] def nextId(self): id = self.currentId() + 1 nextPage = self.page(id) if not nextPage: return -1 if not isinstance(nextPage, CalibrationPage): return id while nextPage and not nextPage.doShow: id = id + 1 nextPage = self.page(id) if not isinstance(nextPage, CalibrationPage): return id if not nextPage: return -1 else: return id
[docs] def close(self, *args, **kwargs): if self.depthCamera: self.depthCamera.stop()
a = QtGui.QApplication(sys.argv) app = CalibrationWizard() app.show() a.exec_()