当前位置: 首页>>代码示例>>Python>>正文


Python ImageHandler.createImage方法代码示例

本文整理汇总了Python中pyworkflow.em.convert.ImageHandler.createImage方法的典型用法代码示例。如果您正苦于以下问题:Python ImageHandler.createImage方法的具体用法?Python ImageHandler.createImage怎么用?Python ImageHandler.createImage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pyworkflow.em.convert.ImageHandler的用法示例。


在下文中一共展示了ImageHandler.createImage方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: CustomMaskDialog

# 需要导入模块: from pyworkflow.em.convert import ImageHandler [as 别名]
# 或者: from pyworkflow.em.convert.ImageHandler import createImage [as 别名]
class CustomMaskDialog(ImagePreviewDialog):
        
    def _beforePreview(self):
        imgLocation = self.protocolParent.inputImage.get().getLocation()
        self.dim = ImageHandler().getDimensions(imgLocation)[0]
        self.lastObj = None
        self.rightPreviewLabel = "Final mask"
        self.message = "Generating mask..."
        self.ih = ImageHandler()
        self.rightImage = self.ih.createImage()
        
    def _createPreview(self, frame):
        """ Should be implemented by subclasses to 
        create the items preview. 
        """
        self._previews = []
        for i, label in enumerate(MASKRESULT_LABELS):
            self.previewLabel = label
            previewFrame = tk.Frame(frame)
            ImagePreviewDialog._createPreview(self, previewFrame)
            self._previews.append(self.preview) # store all previews created
            previewFrame.grid(row=i/4, column=i%4)
            
    def _itemSelected(self, obj):
        self.lastObj = obj
        dialog.FlashMessage(self, self.message, func=self._computeRightPreview)
           
    def _createVarWidgets(self, parent, varName, varLabel, row, col):
        var = tk.StringVar()
        self._vars[varName] = var
        var.set(self.protocolParent.getAttributeValue(varName))
        varLabel = tk.Label(parent, text=varLabel)
        varLabel.grid(row=row, column=col*2, padx=5, pady=5)
        varEntry = tk.Entry(parent, width=10, textvariable=var)
        varEntry.grid(row=row, column=col*2+1, padx=5, pady=5)
    
    def _createControls(self, frame):
        self._vars = {}
        inputFrame = tk.Frame(frame)
        inputFrame.grid(row=0, column=0)
        
        for i, varName in enumerate(CUSTOMMASK_VARS):
            self._createVarWidgets(inputFrame, varName, CUSTOMMASK_VARS[varName], i%2, i/2)
            
        previewBtn = HotButton(frame, text='Preview', command=self._computeRightPreview)
        previewBtn.grid(row=1, column=1, padx=5, pady=5)
            
    def getVarValue(self, varName):
        return self._vars[varName].get()
    
    def _computeRightPreview(self, e=None):
        """ This function should compute the right preview
        using the self.lastObj that was selected
        """
        prot = self.protocolParent # short notation
        tmp = prot.getProject().getTmpPath()
        ext = prot.getExt()
        # Convert input image to spider
        imgPrefix = 'inputImage'
        imgName = '%s.%s' % (imgPrefix, ext)
        imgFn = os.path.join(tmp, imgName)
        self.ih.convert(self.lastObj, (1, imgFn))
        
        runCustomMaskScript(self.getVarValue('filterRadius1'), 
                            self.getVarValue('sdFactor'), 
                            self.getVarValue('filterRadius2'), 
                            self.getVarValue('maskThreshold'), 
                            workingDir=tmp, ext=ext,
                            inputImage=imgPrefix+'@1')
        
        for i, preview in enumerate(self._previews):
            if i == 0:
                self.rightImage.read(imgFn)
            else:
                self.rightImage.read('%[email protected]%s/stkmask.%s' % (i, tmp, ext))
            preview.updateData(self.rightImage.getData())
开发者ID:josegutab,项目名称:scipion,代码行数:78,代码来源:wizard.py


注:本文中的pyworkflow.em.convert.ImageHandler.createImage方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。