def _showOriginalVolumeSlices(self, param=None): """ This function opens the two half maps to visualize the slices """ cm = DataView(self.protocol.half1.get().getFileName()) cm2 = DataView(self.protocol.half2.get().getFileName()) return [cm, cm2]
def _viewLevelFiles(self, e=None): views = [] errors = [] levelFiles = glob.glob(self.protocol._getExtraPath("results_classes_level*.xmd")) if levelFiles: levelFiles.sort() lastLevelFile = levelFiles[-1] if self.doShowLastLevel: views.append(DataView("classes@" + lastLevelFile)) else: if self.showSeveralLevels.empty(): self.formWindow.showError('Please select the levels that you want to visualize.') else: listOfLevels = [] try: listOfLevels = self._getListFromRangeString(self.showSeveralLevels.get()) except Exception: errors.append('Invalid levels range.') # lastLevel = int(re.search('level_(\d\d)',lastLevelFile).group(1)) # if max(listOfLevels) <= lastLevel: for level in listOfLevels: fn = self.protocol._getExtraPath("results_classes_level_%02d.xmd" % level) if os.path.exists(fn): views.append(DataView("classes@" + fn)) else: self.formWindow.showError('Level %s does not exist.' % level) self.errorList(errors, views) return views
def _showOriginalVolumeSlices(self, param=None): if self.protocol.hasAttribute('halfVolumes'): cm = DataView(self.protocol.inputVolume.get().getFileName()) cm2 = DataView(self.protocol.inputVolume2.get().getFileName()) return [cm, cm2] else: cm = DataView(self.protocol.inputVolumes.get().getFileName()) return [cm]
def _viewParam(self, param=None): view = None if param == 'doShowEigenImages': view = DataView(self.protocol._getFileName('eigenimages')) elif param == 'doShowReconsImages': view = DataView(self.protocol._getFileName('reconstituted')) elif param == 'doShowPcaFile': view = self.textView([self.protocol.imcFile.filename.get()], "PCA file") return [view]
def _showOriginalVolumeSlices(self, param=None): # if self.protocol.halfVolumes.get() is True: # Where is halfVolumes? try: cm = DataView(self.protocol.inputVolume.get().getFileName()) cm2 = DataView(self.protocol.inputVolume2.get().getFileName()) return [cm, cm2] except: cm = DataView(self.protocol.inputVolumes.get().getFileName()) return [cm]
def _showOriginalVolumeSlices(self, param=None): if self.protocol.useHalfVolumes.get(): if self.protocol.hasHalfVolumesFile.get(): fn1, fn2 = self.protocol.associatedHalves.get().getHalfMaps().split(',') else: fn1 = self.protocol.halfMap1.get().getFileName() fn2 = self.protocol.halfMap2.get().getFileName() cm = DataView(fn1) cm2 = DataView(fn2) return [cm, cm2] else: cm = DataView(self.protocol.fullMap.get().getFileName()) return [cm]
def _viewParam(self, param=None): view = None if param == 'doShowEigenImages': view = DataView(self.protocol.getOutputEigenImages()) elif param == 'doShowEigPixImages': view = DataView(self.protocol._getFileName('msa_eigen_pixel')) elif param == 'doShowPixelVecCoordImages': view = DataView(self.protocol._getFileName('msa_pixvec_coord')) elif param == 'doShowMsaLisFile': view = self.textView([self.protocol.getOutputLis()], "MSA lis file") elif param == 'doShowMsaPltFile': view = self.textView([self.protocol.getOutputPlt()], "MSA plt file") return [view]
def _viewVolume(self, e=None): viewLabels = 'id enabled _index _filename _xmipp_weight' cm = DataView(self.protocol.outputVolumes.getFileName(), viewParams={MODE : MODE_MD, ORDER : viewLabels, RENDER :'_filename', VISIBLE : viewLabels}) return [cm]
def visualize(self, obj, **args): data = self.protocol._getPath('emxData/data.mrc') DataView(data).show() # open EMX file in web browser fn = self.protocol._getPath('emxData/data.emx') text._open_cmd(fn, self.getTkRoot())
def _visualize(self, obj, **args): if hasattr(obj, 'outputVolumes'): XmippViewer._visualize(self,self.protocol.outputVolumes) fnBasis=self.protocol._getExtraPath('split_pc1.vol') if exists(fnBasis): self._views.append(DataView(fnBasis)) return self._views
def _viewP(self, e=None): volId = int(self.volForCurve.get()) vol = self.protocol.outputVolumes[volId] if vol is None: # Wrong volume selection return [self.errorMessage("Invalid volume id *%d*" % volId)] pFn = vol.clusterMd.get() mdCls = md.MetaData(vol.clusterMd.get()) return [self._viewPlot("Cluster tendency parameter for each image", IMAGE_INDEX, P_INDEX, mdCls, md.MDL_IMAGE_IDX, md.MDL_WEIGHT, color='b'), DataView(pFn)]
def _showPlot(self, paramName=None): views = [] color = self.colozaxis rmax = self.radcut.get() if self.displayPlot == TILT_SCATTER: views.append(self._createScatterPlot(rmax, colorzaxis=color)) elif self.displayPlot == TILT_CONTOUR: plotFn = self.protocol._getFileName('outputContourPlot') if os.path.exists(plotFn): views.append(DataView(plotFn)) else: showError("File not found", "Contour plot file not found: %s" % plotFn, self.getTkRoot()) return views
def _visualize(self, obj, **args): import os fnVolume = self.protocol._getExtraPath("volumeAvg.mrc") if os.path.exists(fnVolume): fnDir = self.protocol._getExtraPath() samplingRate = self.protocol.readInfoField(fnDir, "sampling", emlib.MDL_SAMPLINGRATE) self._views.append( ObjectView(self._project, None, fnVolume, viewParams={ showj.RENDER: 'image', showj.SAMPLINGRATE: samplingRate })) fnSwarm = self.protocol._getExtraPath("swarm.xmd") if os.path.exists(fnSwarm): self._views.append( DataView('bestByVolume@' + fnSwarm, viewParams={showj.MODE: showj.MODE_MD})) return self._views
def openPath(self, path): """Try to open the selected path""" path = expandPattern(path) # If the path is a dir, open it with scipion browser dir <path> if os.path.isdir(path): dpath = (path if os.path.isabs(path) else os.path.join( os.getcwd(), path)) subprocess.Popen([pw.PYTHON, pw.getViewerScript(), dpath]) return # If it is a file, interpret it correctly and open it with DataView dirname = os.path.dirname(path) fname = os.path.basename(path) if '@' in fname: path = os.path.join(dirname, fname.split('@', 1)[-1]) else: path = os.path.join(dirname, fname) if os.path.exists(path): from pwem import emlib fn = emlib.FileName(path) if fn is not None and (fn.isImage() or fn.isMetaData()): # fn is None if xmippLib is the xmippLib ghost library from pwem.viewers import DataView DataView(path).show() else: _open_cmd(path) else: # This is probably one special reference, like sci-open:... that # can be interpreted with our handlers. tag = path.split(':', 1)[0] if ':' in path else None if tag in self.handlers: self.handlers[tag](path.split(':', 1)[-1]) else: print("Can't find %s" % path)
def _showVolumeShowj(self): return [DataView(self._getVolumeName())]
def createDataView(self, filename, viewParams={}): return DataView(filename, viewParams)
def _showVolumeSlices(self, param=None): cm = DataView(self.protocol.resolution_Volume.getFileName()) return [cm]
def _showDoASlices(self, param=None): cm = DataView(self.protocol._getExtraPath(OUTPUT_DOA_FILE)) return [cm]
def _showVolumeSlices(self, param=None): out_cm = DataView(self.protocol._getFileName(FN_RESOLMAP)) return [out_cm]
def _showDirectionalFilter(self, param=None): """ The directionally filtered map using the 3DFSC as low pass filter """ cm = DataView(self.protocol._getExtraPath(OUTPUT_DIRECTIONAL_FILTER)) return [cm]
def _show3DFSC(self, param=None): """ This function opens the slices of the 3DFSC """ cm = DataView(self.protocol._getExtraPath(OUTPUT_3DFSC)) return [cm]
def _viewInfo(self, fn): """ Display the info block in the metadata for a level convergence. """ return DataView('info@' + fn)
def showFile(path, viewParams): DataView(path, viewParams).show()
def _showOriginalVolumeSlices(self, param=None): cm = DataView(self.protocol.volumeHalf1.get().getFileName()) cm2 = DataView(self.protocol.volumeHalf2.get().getFileName()) return [cm, cm2]
def _showVolumeSlices(self, param=None): cm = DataView(self.protocol._getFileName(RESMAP_VOL)) return [cm]
def showExtraFile(volumeSet, volId, suffix): vol = volumeSet[volId] volFn = vol.getFileName().replace('.hdf', suffix) DataView(volFn).show()
def _showOriginalVolumeSlices(self, param=None): cm = DataView(self.protocol.inputVolume.get().getFileName()) return [cm]
def createDataView(self, filename, viewParams={}): return DataView(filename, env=self._env, viewParams=viewParams)