Examples


Open CSV data

import atomize.general_modules.general_functions as general
import atomize.general_modules.csv_opener_saver as openfile

file_handler = openfile.Saver_Opener()

file_data = file_handler.open_file_dialog()
header, data = file_handler.open_2d(file_data, header = 0)

general.plot_2d('2D Plot', data, start_step = ((0, 1), (0.3, 0.001)),
	xname = 'Time', xscale = 's', yname = 'Magnetic Field', yscale = 'T', 
	zname = 'Intensity', zscale = 'V')

Save CSV 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')
file_data = file_handler.create_file_dialog()

## 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')

file_handler.save_data(file_data, data, header = 'Header text', mode = 'w')

Concurrency

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))