Ejemplo n.º 1
0
    def analRefresh(self):
        newNumAnalysed = self.tq.getNumberTasksCompleted(self.image.seriesName)
        if newNumAnalysed > self.numAnalysed:
            self.numAnalysed = newNumAnalysed
            newResults = self.tq.getQueueData(self.image.seriesName, 'FitResults', len(self.fitResults))
            if len(newResults) > 0:
                if len(self.fitResults) == 0:
                    self.fitResults = newResults
                    self.ds = inpFilt.fitResultsSource(self.fitResults)
                    self.dsviewer.pipeline.OpenFile(ds=self.ds)
                else:
                    self.fitResults = numpy.concatenate((self.fitResults, newResults))
                    self.ds.setResults(self.fitResults)
                    self.dsviewer.pipeline.Rebuild()
                    
                
                self.progPan.fitResults = self.fitResults

                self.view.points = numpy.vstack((self.fitResults['fitResults']['x0'], self.fitResults['fitResults']['y0'], self.fitResults['tIndex'])).T

                self.numEvents = len(self.fitResults)

        if (self.tq.getNumberOpenTasks(self.image.seriesName) + self.tq.getNumberTasksInProgress(self.image.seriesName)) == 0 and 'SpoolingFinished' in self.image.mdh.getEntryNames():
            self.dsviewer.statusbar.SetBackgroundColour(wx.GREEN)
            self.dsviewer.statusbar.Refresh()

        self.progPan.draw()
        self.progPan.Refresh()
        self.dsviewer.Refresh()
        self.dsviewer.update()
Ejemplo n.º 2
0
 def execute(self, namespace):
     from PYME.Analysis.FitFactories import GaussMultifitSR
     img = namespace[self.inputImage]
     
     img.mdh['Analysis.PSFSigma'] = self.blobSigma
     
     ff = GaussMultifitSR.FitFactory(self.scale*img.data[:,:,:], img.mdh, noiseSigma=np.ones_like(img.data[:,:,:].squeeze()))
     
     res = inpFilt.fitResultsSource(ff.FindAndFit(self.threshold))
     
     namespace[self.outputName] = res#inpFilt.mappingFilter(res, x='fitResults_x0', y='fitResults_y0')
Ejemplo n.º 3
0
 def OnCoalesce(self, event):
     from PYME.Analysis.LMVis import inpFilt
     from PYME.Analysis.DeClump import pyDeClump
     
     pipeline = self.visFr.pipeline
     
     dclumped = pyDeClump.coalesceClumps(pipeline.selectedDataSource.resultsSource.fitResults, pipeline.selectedDataSource.clumpIndices)
     ds = inpFilt.fitResultsSource(dclumped)
     
     pipeline.selectedDataSource = ds
     pipeline.dataSources.append(ds)
     self.visFr.RegenFilter()
     self.visFr.CreateFoldPanel()
Ejemplo n.º 4
0
    def OnCoalesce(self, event):
        from PYME.Analysis.LMVis import inpFilt
        from PYME.Analysis.DeClump import pyDeClump

        pipeline = self.visFr.pipeline

        dclumped = pyDeClump.coalesceClumps(
            pipeline.selectedDataSource.resultsSource.fitResults,
            pipeline.selectedDataSource.clumpIndices)
        ds = inpFilt.fitResultsSource(dclumped)

        pipeline.selectedDataSource = ds
        pipeline.dataSources.append(ds)
        self.visFr.RegenFilter()
        self.visFr.CreateFoldPanel()
Ejemplo n.º 5
0
    def analRefresh(self):
        newNumAnalysed = self.tq.getNumberTasksCompleted(self.image.seriesName)
        if newNumAnalysed > self.numAnalysed:
            self.numAnalysed = newNumAnalysed
            newResults = self.tq.getQueueData(self.image.seriesName,
                                              'FitResults',
                                              len(self.fitResults))
            if len(newResults) > 0:
                if len(self.fitResults) == 0:
                    self.fitResults = newResults
                    self.ds = inpFilt.fitResultsSource(self.fitResults)
                    self.dsviewer.pipeline.OpenFile(ds=self.ds)
                else:
                    self.fitResults = numpy.concatenate(
                        (self.fitResults, newResults))
                    self.ds.setResults(self.fitResults)
                    self.dsviewer.pipeline.Rebuild()

                self.progPan.fitResults = self.fitResults

                self.view.points = numpy.vstack(
                    (self.fitResults['fitResults']['x0'],
                     self.fitResults['fitResults']['y0'],
                     self.fitResults['tIndex'])).T

                self.numEvents = len(self.fitResults)

        if (self.tq.getNumberOpenTasks(self.image.seriesName) +
                self.tq.getNumberTasksInProgress(self.image.seriesName)
            ) == 0 and 'SpoolingFinished' in self.image.mdh.getEntryNames():
            self.dsviewer.statusbar.SetBackgroundColour(wx.GREEN)
            self.dsviewer.statusbar.Refresh()

        self.progPan.draw()
        self.progPan.Refresh()
        self.dsviewer.Refresh()
        self.dsviewer.update()
Ejemplo n.º 6
0
    def OnGenEvents(self, event):
        from PYMEnf.Simulation import locify
        #from PYME.Acquire.Hardware.Simulator import wormlike2
        from PYME.Analysis.LMVis import inpFilt
        from PYME.Analysis.LMVis.visHelpers import ImageBounds
        import pylab
        
        #wc = wormlike2.wormlikeChain(100)
        
        pipeline = self.visFr.pipeline
        pipeline.filename='Simulation'

        pylab.figure()
        pylab.plot(self.xp, self.yp, 'x') #, lw=2)
        if isinstance(self.source, WormlikeSource):
            pylab.plot(self.xp, self.yp, lw=2)

        res = locify.eventify(self.xp, self.yp, self.meanIntensity, self.meanDuration, self.backgroundIntensity, self.meanEventNumber, self.scaleFactor, self.meanTime)
        pylab.plot(res['fitResults']['x0'],res['fitResults']['y0'], '+')

        pipeline.selectedDataSource = inpFilt.mappingFilter(inpFilt.fitResultsSource(res))
        pipeline.imageBounds = ImageBounds.estimateFromSource(pipeline.selectedDataSource)
        pipeline.dataSources.append(pipeline.selectedDataSource)

        from PYME.Acquire.MetaDataHandler import NestedClassMDHandler
        pipeline.mdh = NestedClassMDHandler()
        pipeline.mdh['Camera.ElectronsPerCount'] = 1
        pipeline.mdh['Camera.TrueEMGain'] = 1
        pipeline.mdh['Camera.CycleTime'] = 1
        pipeline.mdh['voxelsize.x'] = .110

        try:
            pipeline.filterKeys.pop('sig')
        except:
            pass
        self.visFr.RegenFilter()
        self.visFr.SetFit()