Example #1
0
    def _visualizeDisplayAngularDistribution(self):        
        self.SpheresMaxradius = float(self.parser.getTkValue('SpheresMaxradius'))
        self.DisplayAngularDistribution = self.parser.getTkValue('DisplayAngularDistribution')
        
        if self.DisplayAngularDistribution == 'chimera':
            outerRadius = int(float(self.MaskRadiusA)/self.SamplingRate)
            radius = float(outerRadius) * 1.1

            for it in self._visualizeIterations:
                data_angularDist = self._getIterAngularDist(it)
                for ref3d in self._visualizeRef3Ds:
                    for prefix in self._getPrefixes():
                        volFn = self.getFilename(prefix + 'volume', iter=it, ref3d=ref3d)
                        args = " --mode projector 256 -a %sclass%06d_angularDist@%s red %f " % (prefix, ref3d, data_angularDist, radius)
                        if self.SpheresMaxradius > 0:
                            args += ' %f ' % self.SpheresMaxradius
                            print "runChimeraClient(%s, %s) " % (volFn, args)
                        runChimeraClient(volFn, args)
                    
        elif self.DisplayAngularDistribution == "2D plots": 
            n = self._visualizeNrefs * len(self._getPrefixes())
            gridsize = self._getGridSize(n)
            
            for it in self._visualizeIterations:
                data_angularDist = self._getIterAngularDist(it)
                xplotter = XmippPlotter(*gridsize, mainTitle='Iteration %d' % it, windowTitle="Angular Distribution")
                for ref3d in self._visualizeRef3Ds:
                    for prefix in self._getPrefixes():
                        md = MetaData("class%06d_angularDist@%s" % (ref3d, data_angularDist))
                        plot_title = '%sclass %d' % (prefix, ref3d)
                        xplotter.plotAngularDistribution(plot_title, md)
                xplotter.show(interactive=True)