Beispiel #1
0
 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]
Beispiel #4
0
    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]
Beispiel #5
0
    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]
Beispiel #6
0
 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]
Beispiel #7
0
    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]
Beispiel #9
0
    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)]
Beispiel #12
0
    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
Beispiel #13
0
    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
Beispiel #14
0
    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)
Beispiel #15
0
 def _showVolumeShowj(self):
     return [DataView(self._getVolumeName())]
 def createDataView(self, filename, viewParams={}):
     return DataView(filename, viewParams)
Beispiel #17
0
    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]
Beispiel #20
0
 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]
Beispiel #21
0
 def _show3DFSC(self, param=None):
     """
     This function opens the slices of the 3DFSC
     """
     cm = DataView(self.protocol._getExtraPath(OUTPUT_3DFSC))
     return [cm]
Beispiel #22
0
 def _viewInfo(self, fn):
     """ Display the info block in the metadata for a level convergence. """
     return DataView('info@' + fn)
Beispiel #23
0
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]
Beispiel #26
0
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]
Beispiel #28
0
 def createDataView(self, filename, viewParams={}):
     return DataView(filename, env=self._env, viewParams=viewParams)