Examples
Open CSV data
import atomize.general_modules.general_functions as general
import atomize.general_modules.csv_opener_saver_tk_kinter as openfile
file_handler = openfile.Saver_Opener()
head, data = file_handler.open_2D_dialog(header = 0):
general.plot_2d('Plot Z Test', data, start_step = ((0, 1), (0.3, 0.001)),
xname = 'Time', xscale = 's', yname = 'Magnetic Field', yscale = 'T',
zname = 'Intensity', zscale = 'V')
Save data
import numpy as np
import atomize.general_modules.general_functions as general
import atomize.general_modules.csv_opener_saver as openfile
file_handler = openfile.Saver_Opener()
data = [];
general.message('Test of saving data')
path_to_file = file_handler.create_file_dialog(directory = '')
## 2D Experiment
for _ in range(10):
axis_x = np.arange(4000)
ch_time = np.random.randint(250, 500, 1)
zs = 1 + 100*np.exp(-axis_x/ch_time) + 7*np.random.normal(size = (4000))
data.append(zs)
general.wait('100 ms')
general.plot_2d('Plot Z Test', data, start_step = ((0, 1), (0.3, 0.001)),
xname = 'Time', xscale = 's', yname = 'Magnetic Field', yscale = 'T',
zname = 'Intensity', zscale = 'V')
f = open(path_to_file, 'a')
np.savetxt(f, data, fmt = '%.4e', delimiter = ',', newline = 'n',
header = 'Header text', footer = '', comments = '#', encoding = None)
f.close()
Save data during the script
import numpy as np
import atomize.general_modules.general_functions as general
import atomize.general_modules.csv_opener_saver as openfile
file_handler = openfile.Saver_Opener()
data = [];
general.message('Test of saving data')
path_to_file = file_handler.create_file_dialog(directory = '', fmt = '')
f = open(path_to_file, 'a')
## 2D Experiment
for _ in range(10):
axis_x = np.arange(4000)
ch_time = np.random.randint(250, 500, 1)
zs = 1 + 100*np.exp(-axis_x/ch_time) + 7*np.random.normal(size=(4000))
data.append(zs)
general.wait('100 ms')
np.savetxt(f, zs, fmt = '%.4e', delimiter = ' ', newline = 'n',
header = 'Header text', footer = '', comments = '#', encoding = None)
general.plot_2d('Plot Z Test', data, start_step = ((0, 1), (0.3, 0.001)),
xname = 'Time', xscale = 's', yname = 'Magnetic Field', yscale = 'T',
zname = 'Intensity', zscale = 'V')
f.close()
Concurrency example
import time
import numpy as np
import atomize.general_modules.general_functions as general
import atomize.general_modules.returned_thread as returnThread
prPlot = 'None'
POINTS = 50
STEP = 2
data_x = np.zeros(POINTS)
data_y = np.zeros(POINTS)
x_axis = np.linspace(0, (POINTS - 1)*STEP, num = POINTS)
for i in range(POINTS):
data_x[i], data_y[i] = np.random.rand(1)[0], np.random.rand(1)[0]
start_time = time.time()
prWait = returnThread.rThread(target = general.wait, args=('150 ms', ), kwargs={})
prWait.start()
# Does not affect elapsed time, as it is less than “150 ms” in the wait function from the prWait
general.wait('200 ms')
prPlot = general.plot_1d('EXP1', x_axis, (data_x, data_y), label = 'test2',
xname = 'Delay', xscale = 'ns', yname = 'Area', yscale = 'V*s',
vline = (STEP*i, ), pr = prPlot, text=str(STEP*i))
prWait.join()
general.message(str(time.time() - start_time))