def params(self, parent): # have a named tuple for all parameters nmin, nmax = parent.norm.span() return PrimaryMask.params( ( PrimaryMask.AdaptiveThreshold, self.medianRadius.value(), self.windowSize.value(), self.minContrast.value(), parent.removeBorderObjects.isChecked(), parent.fillHoles.isChecked(), nmin, nmax, parent.sizeMin.value(), parent.sizeMax.value(), parent.intensityMin.value(), parent.intensityMax.value(), parent.galSize.value(), self.watershed.isChecked(), self.seedingSize.value(), parent.zsliceMethod.currentIndex(), parent.zslice.value(), parent.outlineSmoothing.value(), ) )
def threshold(self, image, params): image = self.normalize(image, params.norm_min, params.norm_max) smoothed = gaussianFilter(image, params. median_radius) label_image = PrimaryMask(params.mask)(smoothed, **params._asdict()) # imsave("/home/hoefler/images/%s" %self.fff.replace(".lsm", ".png"), # label_image) image = ccore.numpy_to_image(image, copy=True) label_image = ccore.numpy_to_image( label_image.astype(np.int16), copy=True) cnt = ccore.ImageMaskContainer(image, label_image, False, True, True) # need watershed_mask for other color channels return cnt
def _setupPrimaryMasks(self): for name, cls in PrimaryMask.itermasks(): self.pmask.addItem(name) self.stack.addWidget(cls.widget(self)) # hide combobox if not AtConfig().enable_plugins: self.pmask.hide() self.pmask.setCurrentIndex( self.pmask.findText(PrimaryMask.AdaptiveThreshold))
def primarySettings(self): primary = self.root.attrib[self.PRIMARY] settings = dict() # segmentation segm = self.root.xpath("%s/%s" %(primary, self.SEGMENTATION))[0] # XXX - stay compatible with old settings files, use adapitve threshold # as default if not segm.attrib.has_key('mask'): values = [PM.AdaptiveThreshold] values.extend(attrib2values(segm.attrib)) else: values = attrib2values(segm.attrib) settings[segm.tag] = PM.params(values) # feature groups fgrp = self.root.xpath("%s/%s" %(primary, self.FEATUREGROUPS))[0] settings[fgrp.tag] = self._attrib2dict(fgrp.attrib) return validate_tagname(primary, reverse=True), settings