def addMoleculesWithXYCatF(self, x, y, cat, f):
     i3data = i3dtype.createDefaultI3Data(x.size)
     i3dtype.posSet(i3data, 'x', x)
     i3dtype.posSet(i3data, 'y', y)
     i3dtype.setI3Field(i3data, 'c', cat)
     i3dtype.setI3Field(i3data, 'fr', f)
     self.addMolecules(i3data)
 def addMoleculesWithXYAFrame(self, x, y, pa, frame):
     i3data = i3dtype.createDefaultI3Data(x.size)
     i3dtype.posSet(i3data, 'x', x)
     i3dtype.posSet(i3data, 'y', y)
     i3dtype.setI3Field(i3data, 'a', pa)
     i3dtype.setI3Field(i3data, 'fr', frame)
     self.addMolecules(i3data)
Esempio n. 3
0
 def addMoleculesWithXYICat(self, x, y, pi, cat):
     i3data = i3dtype.createDefaultI3Data(x.size)
     i3dtype.posSet(i3data, 'x', x)
     i3dtype.posSet(i3data, 'y', y)
     i3dtype.setI3Field(i3data, 'i', pi)
     i3dtype.setI3Field(i3data, 'c', cat)
     self.addMolecules(i3data)
    def addDAOSTORMMolecules(self, frame, xc, yc, br, be, msky, niter, sharp,
                             chi, err):
        #
        # DAOSTORM -> Insight3 format mapping.
        #
        # xc - xcenter
        # yc - ycenter
        # br - brightness -> peak height
        # be - brightness error (?) -> peak area
        # msky - background -> peak background
        # niter - fit iterations
        # sharp - sharpness (?) -> peak angle
        # chi - fit quality -> peak width
        # err - error flag -> link
        #

        i3data = i3dtype.createDefaultI3Data(xc.size)
        i3dtype.posSet(i3data, 'x', xc)
        i3dtype.posSet(i3data, 'y', yc)
        i3dtype.setI3Field(i3data, 'h', br)
        i3dtype.setI3Field(i3data, 'a', be)
        i3dtype.setI3Field(i3data, 'bg', msky)
        i3dtype.setI3Field(i3data, 'fi', niter)
        i3dtype.setI3Field(i3data, 'phi', sharp)
        i3dtype.setI3Field(i3data, 'w', chi)
        i3dtype.setI3Field(i3data, 'lk', err)

        self.addMolecules(i3data)
Esempio n. 5
0
 def addMoleculesWithXYAFrame(self, x, y, pa, frame):
     i3data = i3dtype.createDefaultI3Data(x.size)
     i3dtype.posSet(i3data, 'x', x)
     i3dtype.posSet(i3data, 'y', y)
     i3dtype.setI3Field(i3data, 'a', pa)
     i3dtype.setI3Field(i3data, 'fr', frame)
     self.addMolecules(i3data)
 def addMoleculesWithXYICat(self, x, y, pi, cat):
     i3data = i3dtype.createDefaultI3Data(x.size)
     i3dtype.posSet(i3data, 'x', x)
     i3dtype.posSet(i3data, 'y', y)
     i3dtype.setI3Field(i3data, 'i', pi)
     i3dtype.setI3Field(i3data, 'c', cat)
     self.addMolecules(i3data)
Esempio n. 7
0
 def addMoleculesWithXYCatF(self, x, y, cat,f):
     i3data = i3dtype.createDefaultI3Data(x.size)
     i3dtype.posSet(i3data, 'x', x)
     i3dtype.posSet(i3data, 'y', y)
     i3dtype.setI3Field(i3data, 'c', cat)
     i3dtype.setI3Field(i3data, 'fr', f)
     self.addMolecules(i3data)
Esempio n. 8
0
    def addDAOSTORMMolecules(self, frame, xc, yc, br, be, msky, niter, sharp, chi, err):
        #
        # DAOSTORM -> Insight3 format mapping.
        #
        # xc - xcenter
        # yc - ycenter
        # br - brightness -> peak height
        # be - brightness error (?) -> peak area
        # msky - background -> peak background
        # niter - fit iterations
        # sharp - sharpness (?) -> peak angle
        # chi - fit quality -> peak width
        # err - error flag -> link
        #

        i3data = i3dtype.createDefaultI3Data(xc.size)
        i3dtype.posSet(i3data, 'x', xc)
        i3dtype.posSet(i3data, 'y', yc)
        i3dtype.setI3Field(i3data, 'h', br)
        i3dtype.setI3Field(i3data, 'a', be)
        i3dtype.setI3Field(i3data, 'bg', msky)
        i3dtype.setI3Field(i3data, 'fi', niter)
        i3dtype.setI3Field(i3data, 'phi', sharp)
        i3dtype.setI3Field(i3data, 'w', chi)
        i3dtype.setI3Field(i3data, 'lk', err)

        self.addMolecules(i3data)
 def addMoleculesWithXYIWFrame(self, x, y, pi, width, frame):
     i3data = i3dtype.createDefaultI3Data(x.size)
     i3dtype.posSet(i3data, 'x', x)
     i3dtype.posSet(i3data, 'y', y)
     i3dtype.setI3Field(i3data, 'i', pi)
     i3dtype.setI3Field(i3data, 'w', width)
     i3dtype.setI3Field(i3data, 'fr', frame)
     self.addMolecules(i3data)
Esempio n. 10
0
 def addMoleculesWithXYIWFrame(self, x, y, pi, width, frame):
     i3data = i3dtype.createDefaultI3Data(x.size)
     i3dtype.posSet(i3data, 'x', x)
     i3dtype.posSet(i3data, 'y', y)
     i3dtype.setI3Field(i3data, 'i', pi)
     i3dtype.setI3Field(i3data, 'w', width)
     i3dtype.setI3Field(i3data, 'fr', frame)
     self.addMolecules(i3data)
 def addMoleculesWithXYZI(self, x, y, z, pi):
     i3data = i3dtype.createDefaultI3Data(x.size)
     i3dtype.posSet(i3data, 'x', x)
     i3dtype.posSet(i3data, 'y', y)
     i3dtype.posSet(i3data, 'z', z)
     i3dtype.setI3Field(i3data, 'i', pi)
     self.addMolecules(i3data)
Esempio n. 12
0
 def addMoleculesWithXYZI(self, x, y, z, pi):
     i3data = i3dtype.createDefaultI3Data(x.size)
     i3dtype.posSet(i3data, 'x', x)
     i3dtype.posSet(i3data, 'y', y)
     i3dtype.posSet(i3data, 'z', z)
     i3dtype.setI3Field(i3data, 'i', pi)
     self.addMolecules(i3data)
 def addMoleculesWithXYZICatFrame(self, x, y, z, pi, cat, f):
     i3data = i3dtype.createDefaultI3Data(x.size)
     i3dtype.posSet(i3data, 'x', x)
     i3dtype.posSet(i3data, 'y', y)
     i3dtype.posSet(i3data, 'z', z)
     i3dtype.setI3Field(i3data, 'i', pi)
     i3dtype.setI3Field(i3data, 'c', cat)
     i3dtype.setI3Field(i3data, 'fr', f)
     self.addMolecules(i3data)
Esempio n. 14
0
 def addMoleculesWithXYZICatFrame(self, x, y, z, pi, cat, f):
     i3data = i3dtype.createDefaultI3Data(x.size)
     i3dtype.posSet(i3data, 'x', x)
     i3dtype.posSet(i3data, 'y', y)
     i3dtype.posSet(i3data, 'z', z)
     i3dtype.setI3Field(i3data, 'i', pi)
     i3dtype.setI3Field(i3data, 'c', cat)
     i3dtype.setI3Field(i3data, 'fr', f)
     self.addMolecules(i3data)
    def addMultiFitMolecules(self,
                             molecules,
                             x_size,
                             y_size,
                             frame,
                             nm_per_pixel,
                             inverted=False):
        n_molecules = molecules.shape[0]

        h = molecules[:, 0]
        if inverted:
            xc = y_size - molecules[:, 1]
            yc = x_size - molecules[:, 3]
            wx = 2.0 * molecules[:, 2] * nm_per_pixel
            wy = 2.0 * molecules[:, 4] * nm_per_pixel
        else:
            xc = molecules[:, 3] + 1
            yc = molecules[:, 1] + 1
            wx = 2.0 * molecules[:, 4] * nm_per_pixel
            wy = 2.0 * molecules[:, 2] * nm_per_pixel

        bg = molecules[:, 5]
        zc = molecules[:,
                       6] * 1000.0  # fitting is done in um, insight works in nm
        st = numpy.round(molecules[:, 7])
        err = molecules[:, 8]

        # calculate peak area, which is saved in the "a" field.
        parea = 2.0 * 3.14159 * h * molecules[:, 2] * molecules[:, 4]

        ax = wy / wx
        ww = numpy.sqrt(wx * wy)

        i3data = i3dtype.createDefaultI3Data(xc.size)
        i3dtype.posSet(i3data, 'x', xc)
        i3dtype.posSet(i3data, 'y', yc)
        i3dtype.posSet(i3data, 'z', zc)
        i3dtype.setI3Field(i3data, 'h', h)
        i3dtype.setI3Field(i3data, 'bg', bg)
        i3dtype.setI3Field(i3data, 'fi', st)
        i3dtype.setI3Field(i3data, 'a', parea)
        i3dtype.setI3Field(i3data, 'w', ww)
        i3dtype.setI3Field(i3data, 'ax', ax)
        i3dtype.setI3Field(i3data, 'fr', frame)
        i3dtype.setI3Field(i3data, 'i', err)
        self.addMolecules(i3data)
Esempio n. 16
0
    def addMultiFitMolecules(self, molecules, x_size, y_size, frame, nm_per_pixel, inverted=False):
        n_molecules = molecules.shape[0]
        
        h = molecules[:,0]
        if inverted:
            xc = y_size - molecules[:,1]
            yc = x_size - molecules[:,3]
            wx = 2.0*molecules[:,2]*nm_per_pixel
            wy = 2.0*molecules[:,4]*nm_per_pixel
        else:
            xc = molecules[:,3] + 1
            yc = molecules[:,1] + 1
            wx = 2.0*molecules[:,4]*nm_per_pixel
            wy = 2.0*molecules[:,2]*nm_per_pixel

        bg = molecules[:,5]
        zc = molecules[:,6] * 1000.0  # fitting is done in um, insight works in nm
        st = np.round(molecules[:,7])
        err = molecules[:,8]

        # calculate peak area, which is saved in the "a" field.
        sum = 2.0*3.14159*h*molecules[:,2]*molecules[:,4]

        ax = wy/wx
        ww = np.sqrt(wx*wy)

        i3data = i3dtype.createDefaultI3Data(xc.size)
        i3dtype.posSet(i3data, 'x', xc)
        i3dtype.posSet(i3data, 'y', yc)
        i3dtype.posSet(i3data, 'z', zc)
        i3dtype.setI3Field(i3data, 'h', h)
        i3dtype.setI3Field(i3data, 'bg', bg)
        i3dtype.setI3Field(i3data, 'fi', st)
        i3dtype.setI3Field(i3data, 'a', sum)
        i3dtype.setI3Field(i3data, 'w', ww)
        i3dtype.setI3Field(i3data, 'ax', ax)
        i3dtype.setI3Field(i3data, 'fr', frame)
        i3dtype.setI3Field(i3data, 'i', err)
        self.addMolecules(i3data)
 def addMoleculesWithXY(self, x, y):
     i3data = i3dtype.createDefaultI3Data(x.size)
     i3dtype.posSet(i3data, 'x', x)
     i3dtype.posSet(i3data, 'y', y)
     self.addMolecules(i3data)
Esempio n. 18
0
 def addMoleculesWithXY(self, x, y):
     i3data = i3dtype.createDefaultI3Data(x.size)
     i3dtype.posSet(i3data, 'x', x)
     i3dtype.posSet(i3data, 'y', y)
     self.addMolecules(i3data)