Esempio n. 1
0
    def calibrate(self, zoom=1, close=False):
        image = self.snapshotAtZoom(zoom)
        if close is True:
            self.md2.fastshutterisopen = False  #CloseFastShutter()
        #image = image * (image > 0.25 * image.max())
        if zoom in [1, 2, 3]:  #do not try to fit in zoom 1, 2 and 3
            params = [None] * 5
            self.cData[zoom] = params
            data = self.images[zoom]
            z, x = numpy.unravel_index(data.argmax(), data.shape)
        else:
            params = gauss2d.fitgaussian(image)
            self.cData[zoom] = params
            if abs(self.cData[zoom][3]) < 100. and abs(
                    self.cData[zoom][4]) < 100.:
                x = self.cData[zoom][2]
                z = self.cData[zoom][1]
            else:
                data = self.images[zoom]
                z, x = numpy.unravel_index(data.argmax(), data.shape)
        print 'zoom %s' % zoom
        print 'x, y: %s %s' % (x, z)

        self.beamposition[zoom] = {'z': z, 'x': x}
        self.md2.write_attribute('beampositionvertical', int(z))
        self.md2.write_attribute('beampositionhorizontal', int(x))
Esempio n. 2
0
 def calibrate(self, zoom=1, close=False):
     image = self.snapshotAtZoom(zoom)
     if close is True:
         self.md2.fastshutterisopen = False #CloseFastShutter()
     #image = image * (image > 0.25 * image.max())
     if zoom in [1, 2, 3]: #do not try to fit in zoom 1, 2 and 3
         params = [None]*5
         self.cData[zoom] = params
         data = self.images[zoom]
         z, x = numpy.unravel_index(data.argmax(), data.shape)
     else:
         params = gauss2d.fitgaussian(image)
         self.cData[zoom] = params
         if abs(self.cData[zoom][3]) < 100. and abs(self.cData[zoom][4]) < 100.:
             x = self.cData[zoom][2]
             z = self.cData[zoom][1]
         else:
             data = self.images[zoom]
             z, x = numpy.unravel_index(data.argmax(), data.shape)
     print 'zoom %s' % zoom
     print 'x, y: %s %s' % (x, z)
     
     self.beamposition[zoom] = {'z': z, 'x': x}
     self.md2.write_attribute('beampositionvertical', int(z))
     self.md2.write_attribute('beampositionhorizontal', int(x))
Esempio n. 3
0
def fitGauss(image):
    params  = gauss2d.fitgaussian(image)
    return params
Esempio n. 4
0
 def fitGauss(self, image):
     params = gauss2d.fitgaussian(image)
     return params