def updateImage(self, dummy=None): if self._images is None: raise RuntimeError("No images set!") images = list() contours = dict() ccolor = AtConfig().contours_complementary_color for i, n in self.checkedChannels().iteritems(): # converting the gray image to the color defined in the button color = self.widgetAt(i, 1).currentColor() image = self._images[i] lut = self.enhancer.lut_from_color(i, color, 256) image.setColorTable(lut) images.append(image) if self._contours is not None: if ccolor: color = AtPainter.complementaryColor(color) contours[color] = self._contours[n] pixmap = AtPainter.blend(images) # sometimes qt segfaults when drawing polygons if AtConfig().draw_contours_in_pixmap: pixmap = AtPainter.drawContours(pixmap, contours) self.newContourImage.emit(pixmap, None) else: self.newContourImage.emit(pixmap, contours)
def __init__(self, file_): super(ClfWriter, self).__init__() self._compression = AtConfig().compression self._copts = AtConfig().compression_opts if isinstance(file_, HdfFile): self.h5f = file_ elif isinstance(file_, basestring): self.h5f = h5py.File(file_, HdfFile.READWRITECREATE)
def __init__(self, filename): self._file = h5py.File(filename, "w") self._cache = None self._compression = AtConfig().compression self._copts = AtConfig().compression_opts self._save_raw_images = AtConfig().save_raw_images self.dmodel = HdfDataModel("data") # save a list of the training sets as attrib of the file if self.dmodel.TRAININGDATA in self._file.attrs.keys(): tsets = self._file.attrs[self.dmodel.TRAININGDATA].tolist() tsets.append(self.dmodel.data) else: tsets = self.dmodel.data self._file.attrs[self.dmodel.TRAININGDATA] = [tsets, ]
def saveSettings(self): atc = AtConfig() atc.contours_complementary_color = self.complementary_colors.isChecked( ) atc.default_sorter = self.sort_algorithm.currentText() atc.default_feature_group = self.feature_grouping.currentText() atc.max_sv_fraction = self.max_frac_outliers.value() atc.interactive_item_limit = self.interactive_item_limit.value() atc.compression = self.hdf_compression.currentText() atc.compression_opts = self.hdf_compopts.itemData( self.hdf_compopts.currentIndex()) atc.save_raw_images = self.saveRawImages.isChecked()
def loadSettings(self): # singleton atc = AtConfig() self.complementary_colors.setChecked(atc.contours_complementary_color) self.sort_algorithm.clear() self.sort_algorithm.addItems(atc.Sorters) self.sort_algorithm.setCurrentIndex( self.sort_algorithm.findText(atc.default_sorter)) self.feature_grouping.clear() self.feature_grouping.addItems(atc.FeatureGroups.keys()) self.feature_grouping.setCurrentIndex( self.feature_grouping.findText(atc.default_feature_group)) self.max_frac_outliers.setValue(atc.max_sv_fraction) self.interactive_item_limit.setValue(atc.interactive_item_limit) self.hdf_compression.clear() self.hdf_compression.addItems(atc.Compression.keys()) self.hdf_compression.setCurrentIndex( self.hdf_compression.findText(atc.compression)) self.updateCompressionOptions(self.hdf_compression.currentText()) self.hdf_compopts.setCurrentIndex( self.hdf_compopts.findText(str(atc.compression_opts))) self.saveRawImages.setChecked(atc.save_raw_images)
def saveSettings(self): atc = AtConfig() atc.contours_complementary_color = self.complementary_colors.isChecked() atc.default_sorter = self.sort_algorithm.currentText() atc.default_feature_group = self.feature_grouping.currentText() atc.max_sv_fraction = self.max_frac_outliers.value() atc.interactive_item_limit = self.interactive_item_limit.value() atc.compression = self.hdf_compression.currentText() atc.compression_opts = self.hdf_compopts.itemData( self.hdf_compopts.currentIndex()) atc.save_raw_images = self.saveRawImages.isChecked()
def setFeatureGroups(self, feature_groups): self.clearFeatureGroups() self._channels = feature_groups.keys() for chn, tables in feature_groups.iteritems(): table = tables[AtConfig().default_feature_group] fgw = AtChannelFeatureGroupsWidget(chn, table, self) self.fbox.insertWidget(self.fbox.count(), fgw) fgw.selectionChanged.connect(self.onSelectionChanged) setattr(self, chn.lower(), fgw)
def _saveSettings(self): settings = QtCore.QSettings(version.organisation, version.appname) settings.beginGroup('Gui') settings.setValue('state', self.saveState()) settings.setValue('geometry', self.saveGeometry()) settings.setValue('classifier', self.annotation.classifiers.currentText()) settings.endGroup() AtConfig().saveSettings()
def estimateParameters(self, testdata): pp = PreProcessor(testdata) # check all gammas from 2^-16 to 2^2 for gamma in 2**np.linspace(-16, 2, 100): clf = sklearn.svm.OneClassSVM(kernel=self.KERNEL, nu=self.nu, gamma=gamma) clf.fit(pp(testdata)) sv_frac = clf.support_.size/float(pp.nsamples) if sv_frac >= AtConfig().max_sv_fraction: self._params.gamma.setValue(gamma) break
def _restoreSettings(self): settings = QtCore.QSettings(version.organisation, version.appname) settings.beginGroup('Gui') if settings.contains('geometry'): geometry = settings.value('geometry') self.restoreGeometry(geometry) if settings.contains('state'): state = settings.value('state') self.restoreState(state) if settings.contains('classifier'): clfname = settings.value("classifier") self.annotation.setCurrentClassifier(clfname) AtConfig().restoreSettings() settings.endGroup()
def loadItems(self): if self._h5f is None: return # feature names of the last dataset loaded self._feature_names = self._h5f.featureNames( self._coordinate['region']) try: self._fgroups = self._h5f.featureGroups(self._coordinate['region']) except KeyError: pass self.started.emit() if AtConfig().interactive_item_limit < self._h5f.numberItems( self._coordinate): self._loadItemsSingle() else: self._loadItemsBulk() self.progressUpdate.emit(-1) self.finished.emit()
def saveSettings(self): atc = AtConfig() atc.contours_complementary_color = self.complementary_colors.isChecked() atc.default_sorter = self.sort_algorithm.currentText() atc.default_feature_group = self.feature_grouping.currentText() atc.max_sv_fraction = self.max_frac_outliers.value() atc.compression = self.hdf_compression.currentText() atc.batch_size = self.batchsize.currentText() atc.compression_opts = self.hdf_compopts.itemData( self.hdf_compopts.currentIndex()) atc.save_raw_images = self.saveRawImages.isChecked() atc.only_classifier_features = self.onlyClassifierFeatures.isChecked() atc.features = self.featureGroups() atc.enable_plugins = self.enablePlugins.isChecked()
def defaultSortAlgorithm(self): return AtConfig().default_sorter