def index(self, name=None): if name is None: return ( "<!DOCTYPE html><html><body>Images will be here</body></html>") else: try: #(img_name,img_ext)=name.rsplit('.',1) finfo = self.qc_files[int(name)] path = os.path.abspath(finfo[0]) if finfo[3] == 'png': return serve_file(path, 'image/png', None, None) elif finfo[3] == 'jpg': return serve_file(path, 'image/jpeg', None, None) elif (finfo[3] == 'mnc' or finfo[3] == 'minc') and minc_supported: # dynamically render minc here img_file = self.tempdir + name + '.png' if not os.path.exists(img_file): qc(finfo[0], img_file, format='png') return serve_file(img_file, 'image/png', None, None) else: cherrypy.response.status = 503 return f"Unsupported image file format:{finfo[0]}" except: print(f"Exception in index:{sys.exc_info()[0]}") traceback.print_exc(file=sys.stdout) cherrypy.response.status = 503 return ("<!DOCTYPE html>" "<html>" f"<body>Image {name} not found!</body>" "</html>")
def create_qc(source, target, xfm, qc_file): with mincTools() as m: m.resample_smooth(source, m.tmp('source.mnc'), order=1, like=target, transform=xfm) qc(m.tmp('source.mnc'), qc_file, mask=target, image_cmap='red', mask_cmap='green', use_max=True) # ,ialpha=0.5,oalpha=0.5
def draw_qc_nl(in_scan, in_outline, nl_xfm, qc_nl, options={}): with mincTools() as m: m.resample_labels(in_outline.scan, m.tmp('outline.mnc'), transform=nl_xfm.xfm, invert_transform=True) qc(in_scan.scan, qc_nl.fname, mask=m.tmp('outline.mnc'), mask_range=[0.0, 1.0], samples=20 if options.get('big', False) else 6, mask_bg=0.5, use_max=True)
def draw_qc_lobes(in_scan, in_lobes, out_qc, options={}): if options.get('big'): with mincTools() as m: m.qc(in_scan.scan, out_qc.fname, big=True, mask=in_lobes.scan, spectral_mask=True) else: qc(in_scan.scan, out_qc.fname, mask=in_lobes.scan, mask_cmap='spectral', mask_bg=0.5, use_max=True)
def draw_qc_mask(in_scan, out_qc, options={}): if options.get('big'): with mincTools() as m: m.qc(in_scan.scan, out_qc.fname, big=True, mask=in_scan.mask, mask_range=[0.0, 1.0]) else: qc(in_scan.scan, out_qc.fname, mask=in_scan.mask, mask_range=[0.0, 1.0], mask_bg=0.5, use_max=True)
def draw_qc_lobes(in_scan, in_lobes, out_qc, options={}): if options.get('big', False): qc(in_scan.scan, out_qc.fname, mask=in_lobes.scan, mask_cmap='spectral', mask_bg=0.5, use_max=True, samples=20) else: qc(in_scan.scan, out_qc.fname, mask=in_lobes.scan, mask_cmap='spectral', mask_bg=0.5, use_max=True)
def draw_qc_mask(in_scan, out_qc, options={}): if options.get('big', False): qc(in_scan.scan, out_qc.fname, mask=in_scan.mask, mask_range=[0.0, 1.0], mask_bg=0.5, use_max=True, samples=20) else: qc(in_scan.scan, out_qc.fname, mask=in_scan.mask, mask_range=[0.0, 1.0], mask_bg=0.5, use_max=True)
def draw_qc_stx(in_scan, in_outline, out_qc, options={}): if options.get('big', False): qc(in_scan.scan, out_qc.fname, mask=in_outline.scan, mask_range=[0.0, 1.0], samples=20, mask_bg=0.5, use_max=True) else: qc(in_scan.scan, out_qc.fname, mask=in_outline.scan, mask_range=[0.0, 1.0], mask_bg=0.5, use_max=True)
def draw_qc_add(in_scan1, in_scan2, out_qc, options={}): if options.get('big'): with mincTools() as m: m.qc(in_scan1.scan, out_qc.fname, big=True, red=True, mask=in_scan2.scan, green_mask=True) else: qc(in_scan1.scan, out_qc.fname, mask=in_scan2.scan, image_cmap='red', mask_cmap='green', mask_bg=0.5, use_max=True)
def draw_qc_add(in_scan1, in_scan2, out_qc, options={}): if options.get('big', False): qc(in_scan1.scan, out_qc.fname, mask=in_scan2.scan, image_cmap='red', mask_cmap='green', mask_bg=0.5, use_max=True, samples=20) else: qc(in_scan1.scan, out_qc.fname, mask=in_scan2.scan, image_cmap='red', mask_cmap='green', mask_bg=0.5, use_max=True)