import argparse import sys import os from MainWindow import * def redirect_vtk_messages(): """ Redirect VTK related error messages to a file.""" import tempfile tempfile.template = 'vtk-err' f = tempfile.mktemp('.log') log = vtk.vtkFileOutputWindow() log.SetFlush(1) log.SetFileName(f) log.SetInstance(log) def verify_type(file): ext = os.path.basename(file).split(os.extsep, 1) if ext[1] != 'nii.gz': parser.error("File doesn't end with 'nii.gz'. Found: {}".format(ext[1])) return file if __name__ == "__main__": parser = argparse.ArgumentParser(description='Reads Nii.gz Files and renders them in 3D.') parser.add_argument('-i', type=lambda fn: verify_type(fn), help='an mri scan (nii.gz)') parser.add_argument('-m', type=lambda fn: verify_type(fn), help='the segmentation mask (nii.gz)') args = parser.parse_args() redirect_vtk_messages() app = QtWidgets.QApplication(sys.argv) # with open("./visualizer/captk.qss") as css: # read_css = css.read() # app.setStyleSheet(read_css) app.BRAIN_FILE = args.i app.MASK_FILE = args.m window = MainWindow(app) sys.exit(app.exec_())