Skip to content

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