def loadmask(self): try: self.data.mask=calibration.openmask(self.data.cal) image=nparrayToQPixmap(self.data.mask) self.data.qtmask=image maskscene=QGraphicsScene() maskscene.addPixmap(image) except IOError as e: dialog=QErrorMessage(self) dialog.showMessage(e.message) return self.ui.graphicsViewMask.setScene(maskscene) self.ui.graphicsViewMask.show() self.resizemask()
def __init__(self, conf, sliceconf, attachments=[]): x = conf["Geometry"]["Imagesize"][1] y = conf["Geometry"]["Imagesize"][0] self.x = x self.y = y self.kind = "Slice" self.conf = conf self.qname = "" self.sliceconf = sliceconf start = sliceconf["CutPosition"] - sliceconf["CutMargin"] stop = sliceconf["CutPosition"] + sliceconf["CutMargin"] if len(conf["Masks"]) > 0 and sliceconf['MaskRef'] >= 0: if len(attachments) > sliceconf['MaskRef']: attachment = attachments[sliceconf['MaskRef']] else: atachment = None self.mask = openmask( conf["Masks"][sliceconf['MaskRef']]["MaskFile"], attachment=attachment) else: self.mask = np.zeros((x, y)) if len(conf["Geometry"]['PixelSizeMicroM']) == 1: conf["Geometry"]['PixelSizeMicroM'].append( conf["Geometry"]['PixelSizeMicroM'][0]) if sliceconf["Direction"] == "x": self.Projector = xDirSliceProjector(x, y, start, stop, self.mask).transpose() elif sliceconf["Direction"] == "y": self.Projector = yDirSliceProjector(x, y, start, stop, self.mask).transpose() else: raise Exception("Invalid Direction: " + sliceconf["Direction"]) self.makegrid() self.areas = self.Projector.dot(np.ones((x, y)).flatten()) #areaswithoutzero=np.where(self.areas>0.0 ,self.areas,-1.0) self.oneoverA = np.where(self.areas > 0.0, 1.0 / self.areas, np.NAN)
def __init__(self,conf,sliceconf,attachments=[]): x=conf["Geometry"]["Imagesize"][1] y=conf["Geometry"]["Imagesize"][0] self.x=x self.y=y self.kind="Slice" self.conf=conf self.qname="" self.sliceconf=sliceconf start=sliceconf["CutPosition"]-sliceconf["CutMargin"] stop=sliceconf["CutPosition"]+sliceconf["CutMargin"] if len (conf["Masks"])>0 and sliceconf['MaskRef']>=0: if len ( attachments)>sliceconf['MaskRef']: attachment=attachments[sliceconf['MaskRef']] else: atachment=None self.mask=openmask(conf["Masks"][sliceconf['MaskRef']]["MaskFile"], attachment=attachment ) else: self.mask=np.zeros((x,y)) if len(conf["Geometry"]['PixelSizeMicroM'])==1: conf["Geometry"]['PixelSizeMicroM'].append(conf["Geometry"]['PixelSizeMicroM'][0]) if sliceconf["Direction"]=="x": self.Projector=xDirSliceProjector(x,y,start,stop,self.mask).transpose() elif sliceconf["Direction"]=="y": self.Projector=yDirSliceProjector(x,y,start,stop,self.mask).transpose() else : raise Exception("Invalid Direction: "+ sliceconf["Direction"]) self.makegrid() self.areas=self.Projector.dot(np.ones((x,y)).flatten()) #areaswithoutzero=np.where(self.areas>0.0 ,self.areas,-1.0) self.oneoverA=np.where(self.areas>0.0,1.0/self.areas ,np.NAN)
def getMaskPixMapFromFile(file): array=calibration.openmask(file) return nparrayToQPixmap(array)