Example #1
0
def datafield_reduce(datafield):
    return datafield_create, (gwyutils.data_field_data_as_array(datafield),
                              datafield.get_xres(),
                              datafield.get_yres(),
                              datafield.get_si_unit_xy().get_string(gwy.SI_UNIT_FORMAT_PLAIN),
                              datafield.get_si_unit_z().get_string(gwy.SI_UNIT_FORMAT_PLAIN),
                             )
Example #2
0
    def spm_pixel_size(self):
        """Returns the Image Size of the spm file in pixels."""

        self.key = gwy.gwy_app_get_data_key_for_id(0)
        self.name = gwy.gwy_name_from_key(self.key)
        self.data_tmp = gwyutils.data_field_data_as_array(
            self.container[self.name])

        return np.shape(self.data_tmp)
Example #3
0
    def convert_np(self, channel_id):
        """Converts a Gwyddion container to a Numpy array.

        Args:
            channel_id (int): ID of channel which will be converted.

        Returns:
            np_array (array): Numpy array of container channel.
        """

        # Makes a data field (channel) current/active in the data browser.
        gwy.gwy_app_data_browser_select_data_field(self.container, channel_id)
        self.key = gwy.gwy_app_get_data_key_for_id(channel_id)
        self.name = gwy.gwy_name_from_key(self.key)

        return gwyutils.data_field_data_as_array(self.container[self.name])
Example #4
0
def convertAFM(filenamex, saveImg = True):
    filename = os.path.abspath(filenamex)
    # print 'Loading ', filename
    for i in range(100):
        c = gwy.gwy_file_load(filename, gwy.RUN_NONINTERACTIVE)
        if c != None:
            break
        time.sleep(0.1)
    if c == None:
        return None, None
    gwy.gwy_app_data_browser_add(c)
    for key in c.keys_by_name():
        if re.match(r'^/0/data$', key):
            field = c[key]
            xres = field.get_xres()
            yres = field.get_yres()
            xreal = (field.get_xreal()*1e6)/2.0
            yreal = (field.get_yreal()*1e6)/2.0
            weights = gwy.DataLine(xres, 1.0, True)
            weights.part_fill(0, xres//3, 1.0)
            filtered = gwy.DataField.new_alike(field, False)
            field.fft_filter_1d(filtered, weights,
                                gwy.ORIENTATION_HORIZONTAL,
                                gwy.INTERPOLATION_ROUND)
            degrees = [1,1]
            field.subtract_polynom(degrees[0],degrees[1],field.fit_polynom(degrees[0],degrees[1]))
            field.data_changed()
            data = gwyutils.data_field_data_as_array(field)
            data = np.array(data)[::,::-1]

            imfilename = False
            if saveImg:
                filename = os.path.abspath('D:/lithography/')
                imfilename = str(filename)+"/current.png"
                print (imfilename)
                res = saveAFMimg(data, imfilename )
                writeImageMacro( imfilename , [-xreal, -yreal, xreal, yreal])
    info = {'width':xreal*2, 'height':yreal*2, 'imname': imfilename}
    gwy.gwy_app_data_browser_remove(c)
    return data, info
Example #5
0
basename = filename[0:-4]
print filename.split('/')[-1][:-4]

meta_field = '/' + str(data_field_id) + '/meta'
title = '/' + str(data_field_id) + '/data/title'
channel = c[title]
print channel

meta = c[meta_field]
print meta.keys_by_name()
bias = meta['Bias']
bias, bu = bias.split(' ')
current = meta['Z controller Setpoint']
current, cu = current.split(' ')
current = float(current) * 1e12
cu = 'pA'
current_bias = 'pm'
xd = d.get_xreal() * 1e9
yd = d.get_yreal() * 1e9
xyu = 'nm'
print xd
print bias
#gwy.gwy_file_save(c, basename+'_'+str(xd)+xyu+'_'+str(yd)+xyu+'_'+bias+bu+'_'+str(current)+cu+'.png', gwy.RUN_NONINTERACTIVE)

# prepare to save
w = d.get_xres()
h = d.get_yres()
io.use_plugin('freeimage')
data_field = '/' + str(data_field_id) + '/data'
array = gwyutils.data_field_data_as_array(d)
print array.shape
Example #6
0
def exportasnparray(datafield, mask):
    # Export the current datafield (channel) and mask (grains) as numpy arrays
    npdata = gwyutils.data_field_data_as_array(datafield)
    npmask = gwyutils.data_field_data_as_array(mask)
    return npdata, npmask