fishgrid config gui
This commit is contained in:
commit
6a877bec5c
80
fishgrid.cfg
Normal file
80
fishgrid.cfg
Normal file
@ -0,0 +1,80 @@
|
||||
*FishGrid
|
||||
Grid &1:
|
||||
Used1 : true
|
||||
Columns1 : 8
|
||||
Rows1 : 2
|
||||
ColumnDistance1 : 50.0cm
|
||||
RowDistance1 : 50.0cm
|
||||
ChannelOffset1 : 0
|
||||
ElectrodeType1 : plain
|
||||
RefElectrodeType1: plain
|
||||
RefElectrodePosX1: 0.00m
|
||||
RefElectrodePosY1: 0.00m
|
||||
WaterDepth1 : 0.25m
|
||||
Hardware Settings:
|
||||
DAQ board:
|
||||
AISampleRate: 20.000kHz
|
||||
AIMaxVolt : 1.0mV
|
||||
Amplifier:
|
||||
AmplName : 16-channel-amplifier
|
||||
AmplModel : EM-64B
|
||||
Type : differential
|
||||
Gain : 100
|
||||
HighpassCutoff: 100Hz
|
||||
LowpassCutoff : 10.000kHz
|
||||
Recording:
|
||||
General:
|
||||
Experiment.Name : recording fish behavior
|
||||
StartDate : ~
|
||||
StartTime : ~
|
||||
Location : Colombia - Los Llanos
|
||||
Position : ~N, ~W
|
||||
WaterTemperature : 20.0C
|
||||
WaterConductivity: 5.0uS/cm
|
||||
WaterpH : 7.0pH
|
||||
WaterOxygen : 0.0mg/l
|
||||
Comment : ~
|
||||
Experimenter : T. Raab et al. :)
|
||||
Buffers and timing:
|
||||
DataTime : 100ms
|
||||
DataInterval: 1000ms
|
||||
BufferTime : 60s
|
||||
Pre-processing:
|
||||
PreProcessor1: none
|
||||
PreProcessor2: none
|
||||
PreProcessor3: none
|
||||
PreProcessor4: none
|
||||
PreProcessor5: none
|
||||
PreProcessor6: none
|
||||
PreProcessor7: none
|
||||
PreProcessor8: none
|
||||
|
||||
*CommonNoiseRemoval
|
||||
CommonNoiseRemoval: none
|
||||
|
||||
*Spectra
|
||||
Size : "8192"
|
||||
Overlap: true
|
||||
Window : Hanning
|
||||
Decibel: true
|
||||
Decay : 100iterations
|
||||
FMin : 0Hz
|
||||
FMax : 2000Hz
|
||||
Clip : true
|
||||
|
||||
*RMSPixel
|
||||
TraceLength: 10s
|
||||
|
||||
*Recording
|
||||
PathFormat: "%04Y-%02m-%02d-%02H:%02M"
|
||||
|
||||
*Acquisition
|
||||
device1 : /dev/comedi0
|
||||
blacklist1: ~
|
||||
device2 : /dev/comedi1
|
||||
blacklist2: ~
|
||||
device3 : /dev/comedi2
|
||||
blacklist3: ~
|
||||
device4 : /dev/comedi3
|
||||
blacklist4: ~
|
||||
reference : RSE
|
554
rasp_grid_cfg.py
Normal file
554
rasp_grid_cfg.py
Normal file
@ -0,0 +1,554 @@
|
||||
import sys
|
||||
import os
|
||||
|
||||
from PyQt5.QtWidgets import *
|
||||
from PyQt5.QtGui import *
|
||||
from PyQt5 import QtCore
|
||||
from PyQt5.QtCore import *
|
||||
|
||||
|
||||
class Grid_tab(QWidget):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
self.columns_val = 8
|
||||
self.rows_val = 8
|
||||
self.col_dist_val = 50
|
||||
self.row_dist_val = 50
|
||||
self.channel_offset_val = 0
|
||||
self.elec_type_val = 'plain'
|
||||
self.ref_elec_type_val = 'plain'
|
||||
self.ref_elec_posx_val = 0.00
|
||||
self.ref_elec_posy_val = 0.00
|
||||
self.water_depth_val = 0.25
|
||||
|
||||
self.gridlayout = QGridLayout()
|
||||
self.gridlayout.setColumnStretch(0, 5)
|
||||
self.gridlayout.setColumnStretch(1, 2)
|
||||
self.gridlayout.setColumnStretch(2, 1)
|
||||
|
||||
# self.get_widgets()
|
||||
|
||||
self.setLayout(self.gridlayout)
|
||||
|
||||
def get_widgets(self):
|
||||
col_elecsU =QLabel('n', self)
|
||||
col_elecsL =QLabel('Electrod Columns:', self)
|
||||
self.col_elecs = QLineEdit(str(self.columns_val), self)
|
||||
self.gridlayout.addWidget(col_elecsL, 0, 0)
|
||||
self.gridlayout.addWidget(self.col_elecs, 0, 1)
|
||||
self.gridlayout.addWidget(col_elecsU, 0, 2)
|
||||
|
||||
row_elecsU = QLabel('n', self)
|
||||
row_elecsL = QLabel('Electrod Rows:', self)
|
||||
self.row_elecs = QLineEdit(str(self.rows_val), self)
|
||||
self.gridlayout.addWidget(row_elecsL, 1, 0)
|
||||
self.gridlayout.addWidget(self.row_elecs, 1, 1)
|
||||
self.gridlayout.addWidget(row_elecsU, 1, 2)
|
||||
|
||||
col_spaceU = QLabel('cm', self)
|
||||
col_spaceL = QLabel('Column spacing:', self)
|
||||
self.col_space = QLineEdit(str(self.col_dist_val), self)
|
||||
self.gridlayout.addWidget(col_spaceL, 2, 0)
|
||||
self.gridlayout.addWidget(self.col_space, 2, 1)
|
||||
self.gridlayout.addWidget(col_spaceU, 2, 2)
|
||||
|
||||
row_spaceU = QLabel('cm', self)
|
||||
row_spaceL = QLabel('Row spacing:', self)
|
||||
self.row_space = QLineEdit(str(self.row_dist_val), self)
|
||||
self.gridlayout.addWidget(row_spaceL, 3, 0)
|
||||
self.gridlayout.addWidget(self.row_space, 3, 1)
|
||||
self.gridlayout.addWidget(row_spaceU, 3, 2)
|
||||
|
||||
channel_offsetU = QLabel('n', self)
|
||||
channel_offsetL = QLabel('Channel offset:', self)
|
||||
self.channel_offset = QLineEdit(str(self.channel_offset_val), self)
|
||||
self.gridlayout.addWidget(channel_offsetL, 4, 0)
|
||||
self.gridlayout.addWidget(self.channel_offset, 4, 1)
|
||||
self.gridlayout.addWidget(channel_offsetU, 4, 2)
|
||||
|
||||
elec_typeL = QLabel('Electrode Type:', self)
|
||||
self.elec_type = QLineEdit(self.elec_type_val, self)
|
||||
self.gridlayout.addWidget(elec_typeL, 5, 0)
|
||||
self.gridlayout.addWidget(self.elec_type, 5, 1)
|
||||
|
||||
ref_elec_typeL = QLabel('Ref. Electrode Type:', self)
|
||||
self.ref_elec_type = QLineEdit(self.ref_elec_type_val, self)
|
||||
self.gridlayout.addWidget(ref_elec_typeL, 6, 0)
|
||||
self.gridlayout.addWidget(self.ref_elec_type, 6, 1)
|
||||
|
||||
ref_elec_xU = QLabel('m', self)
|
||||
ref_elec_xL = QLabel('Ref. Electrode Pos-x:', self)
|
||||
self.ref_elec_x = QLineEdit('%.2f' % self.ref_elec_posx_val, self)
|
||||
self.gridlayout.addWidget(ref_elec_xL, 7, 0)
|
||||
self.gridlayout.addWidget(self.ref_elec_x, 7, 1)
|
||||
self.gridlayout.addWidget(ref_elec_xU, 7, 2)
|
||||
|
||||
ref_elec_yU = QLabel('m', self)
|
||||
ref_elec_yL = QLabel('Ref. Electrode Pos-y:', self)
|
||||
self.ref_elec_y = QLineEdit('%.2f' % self.ref_elec_posy_val, self)
|
||||
self.gridlayout.addWidget(ref_elec_yL, 8, 0)
|
||||
self.gridlayout.addWidget(self.ref_elec_y, 8, 1)
|
||||
self.gridlayout.addWidget(ref_elec_yU, 8, 2)
|
||||
|
||||
water_depthU = QLabel('cm', self)
|
||||
water_depthL = QLabel('Water depth:', self)
|
||||
self.water_depth = QLineEdit('%.2f' % self.water_depth_val, self)
|
||||
self.gridlayout.addWidget(water_depthL, 9, 0)
|
||||
self.gridlayout.addWidget(self.water_depth, 9, 1)
|
||||
self.gridlayout.addWidget(water_depthU, 9, 2)
|
||||
|
||||
space = QLabel('', self)
|
||||
self.gridlayout.addWidget(space, 10, 0)
|
||||
|
||||
class Hardware_settings_tab(QWidget):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
self.ai_sr_val = 20
|
||||
self.ai_max_vol_val = 1
|
||||
self.amp_name_val = "16-channel-amplifier"
|
||||
self.amp_model_val = 'EM-64B'
|
||||
self.amp_type_val = 'differential'
|
||||
self.gain_val = 100
|
||||
self.highpass_cutoff_val = 100
|
||||
self.lowpass_cutoff_val = 10
|
||||
|
||||
self.gridlayout = QGridLayout()
|
||||
self.gridlayout.setColumnStretch(0, 5)
|
||||
self.gridlayout.setColumnStretch(1, 5)
|
||||
self.gridlayout.setColumnStretch(2, 1)
|
||||
|
||||
# self.get_widgets()
|
||||
|
||||
self.setLayout(self.gridlayout)
|
||||
|
||||
def get_widgets(self):
|
||||
# hw_settingsL = QLabel('Hardware Settings:', self)
|
||||
# self.gridlayout.addWidget(hw_settingsL, 0, 0)
|
||||
|
||||
AIsrU = QLabel('kHz', self)
|
||||
AIsrL = QLabel('AI Sample Rate:', self)
|
||||
self.AIsr = QLineEdit('%.3f' % self.ai_sr_val, self)
|
||||
self.gridlayout.addWidget(AIsrL, 1, 0)
|
||||
self.gridlayout.addWidget(self.AIsr, 1, 1)
|
||||
self.gridlayout.addWidget(AIsrU, 1, 2)
|
||||
|
||||
AImaxVU = QLabel('mV', self)
|
||||
AImaxVL = QLabel('AI Max V:', self)
|
||||
self.AImaxV = QLineEdit('%.1f' % self.ai_max_vol_val, self)
|
||||
self.gridlayout.addWidget(AImaxVL, 2, 0)
|
||||
self.gridlayout.addWidget(self.AImaxV, 2, 1)
|
||||
self.gridlayout.addWidget(AImaxVU, 2, 2)
|
||||
|
||||
AmplNameL = QLabel('Ampl. Name:', self)
|
||||
self.AmplName = QLineEdit(self.amp_name_val, self)
|
||||
self.gridlayout.addWidget(AmplNameL, 3, 0)
|
||||
self.gridlayout.addWidget(self.AmplName, 3, 1)
|
||||
|
||||
AmplModelL = QLabel('Ampl. Model:', self)
|
||||
self.AmplModel = QLineEdit(self.amp_model_val, self)
|
||||
self.gridlayout.addWidget(AmplModelL, 4, 0)
|
||||
self.gridlayout.addWidget(self.AmplModel, 4, 1)
|
||||
|
||||
AmplTypeL = QLabel('Ampl. Type:', self)
|
||||
self.AmplType = QLineEdit(self.amp_type_val, self)
|
||||
self.gridlayout.addWidget(AmplTypeL, 5, 0)
|
||||
self.gridlayout.addWidget(self.AmplType, 5, 1)
|
||||
|
||||
gainL = QLabel('Gain:', self)
|
||||
self.gain = QLineEdit(str(self.gain_val), self)
|
||||
self.gridlayout.addWidget(gainL, 6, 0)
|
||||
self.gridlayout.addWidget(self.gain, 6, 1)
|
||||
|
||||
hp_cutoffU = QLabel('Hz', self)
|
||||
hp_cutoffL = QLabel('Highpass cutoff:', self)
|
||||
self.hp_cutoff = QLineEdit(str(self.highpass_cutoff_val), self)
|
||||
self.gridlayout.addWidget(hp_cutoffL, 7, 0)
|
||||
self.gridlayout.addWidget(self.hp_cutoff, 7, 1)
|
||||
self.gridlayout.addWidget(hp_cutoffU, 7, 2)
|
||||
|
||||
lp_cutoffU = QLabel('kHz', self)
|
||||
lp_cutoffL = QLabel('Lowpass cutoff:', self)
|
||||
self.lp_cutoff = QLineEdit('%.3f' % self.lowpass_cutoff_val, self)
|
||||
self.gridlayout.addWidget(lp_cutoffL, 8, 0)
|
||||
self.gridlayout.addWidget(self.lp_cutoff, 8, 1)
|
||||
self.gridlayout.addWidget(lp_cutoffU, 8, 2)
|
||||
|
||||
space = QLabel('', self)
|
||||
self.gridlayout.addWidget(space, 9, 0)
|
||||
|
||||
class Recording_settings(QWidget):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
self.experiment_name_val = 'recording fish behavior'
|
||||
self.startdate_val = '~'
|
||||
self.starttime_val = '~'
|
||||
self.location_val = 'Colombia - Los Llanos'
|
||||
self.position_val = '~N, ~W'
|
||||
self.water_temp_val = 20
|
||||
self.water_cond_val = 5
|
||||
self.water_ph_val = 7
|
||||
self.water_oxy_val = 0
|
||||
self.comment_val = '~'
|
||||
self.experimenter_val = 'T. Raab et al. :)'
|
||||
self.datatime_val = 100
|
||||
self.datainterval_val = 1000
|
||||
self.buffertime_val = 60
|
||||
|
||||
self.gridlayout = QGridLayout()
|
||||
self.gridlayout.setColumnStretch(0, 5)
|
||||
self.gridlayout.setColumnStretch(1, 5)
|
||||
self.gridlayout.setColumnStretch(2, 1)
|
||||
|
||||
# self.get_widgets()
|
||||
|
||||
self.setLayout(self.gridlayout)
|
||||
|
||||
def get_widgets(self):
|
||||
|
||||
exp_nameL = QLabel('Experiment Name:', self)
|
||||
self.exp_name = QLineEdit(self.experiment_name_val, self)
|
||||
self.gridlayout.addWidget(exp_nameL, 0, 0)
|
||||
self.gridlayout.addWidget(self.exp_name, 0, 1)
|
||||
|
||||
start_dateL = QLabel('Start Date:', self)
|
||||
self.start_date = QLineEdit(self.startdate_val, self)
|
||||
self.gridlayout.addWidget(start_dateL, 1, 0)
|
||||
self.gridlayout.addWidget(self.start_date, 1, 1)
|
||||
|
||||
start_timeL = QLabel('Start Time:', self)
|
||||
self.start_time = QLineEdit(self.starttime_val, self)
|
||||
self.gridlayout.addWidget(start_timeL, 2, 0)
|
||||
self.gridlayout.addWidget(self.start_time, 2, 1)
|
||||
|
||||
locationL = QLabel('Location:', self)
|
||||
self.location = QLineEdit(self.location_val, self)
|
||||
self.gridlayout.addWidget(locationL, 3, 0)
|
||||
self.gridlayout.addWidget(self.location, 3, 1)
|
||||
|
||||
positionL = QLabel('Position:', self)
|
||||
self.position = QLineEdit(self.position_val, self)
|
||||
self.gridlayout.addWidget(positionL, 4, 0)
|
||||
self.gridlayout.addWidget(self.position, 4, 1)
|
||||
|
||||
waterTempU = QLabel('C', self)
|
||||
waterTempL = QLabel('Water Temp:', self)
|
||||
self.waterTemp = QLineEdit('%.1f' % self.water_temp_val, self)
|
||||
self.gridlayout.addWidget(waterTempL, 5, 0)
|
||||
self.gridlayout.addWidget(self.waterTemp, 5, 1)
|
||||
self.gridlayout.addWidget(waterTempU, 5, 2)
|
||||
|
||||
waterCondU = QLabel('uS/cm', self)
|
||||
waterCondL = QLabel('Water cond.:', self)
|
||||
self.waterCond = QLineEdit('%.1f' % self.water_cond_val, self)
|
||||
self.gridlayout.addWidget(waterCondL, 6, 0)
|
||||
self.gridlayout.addWidget(self.waterCond, 6, 1)
|
||||
self.gridlayout.addWidget(waterCondU, 6, 2)
|
||||
|
||||
waterpHU = QLabel('pH')
|
||||
waterpHL = QLabel('Water-pH:')
|
||||
self.waterpH = QLineEdit('%.1f' % self.water_ph_val, self)
|
||||
self.gridlayout.addWidget(waterpHL, 7, 0)
|
||||
self.gridlayout.addWidget(self.waterpH, 7, 1)
|
||||
self.gridlayout.addWidget(waterpHU, 7, 2)
|
||||
|
||||
waterOxyU = QLabel('mg/l', self)
|
||||
waterOxyL = QLabel('Water Oxygen:', self)
|
||||
self.waterOxy = QLineEdit('%.1f' % self.water_oxy_val, self)
|
||||
self.gridlayout.addWidget(waterOxyL, 8, 0)
|
||||
self.gridlayout.addWidget(self.waterOxy, 8, 1)
|
||||
self.gridlayout.addWidget(waterOxyU, 8, 2)
|
||||
|
||||
commentL = QLabel('Comment:', self)
|
||||
self.comment = QLineEdit(self.comment_val, self)
|
||||
self.gridlayout.addWidget(commentL, 9, 0)
|
||||
self.gridlayout.addWidget(self.comment, 9, 1)
|
||||
|
||||
experimenterL = QLabel('Experimenter:', self)
|
||||
self.experimenter = QLineEdit(self.experimenter_val, self)
|
||||
self.gridlayout.addWidget(experimenterL, 10, 0)
|
||||
self.gridlayout.addWidget(self.experimenter, 10, 1)
|
||||
|
||||
DataTimeU = QLabel('ms', self)
|
||||
DataTimeL = QLabel('Data Time:', self)
|
||||
self.datatime = QLineEdit(str(self.datatime_val), self)
|
||||
self.gridlayout.addWidget(DataTimeL, 11, 0)
|
||||
self.gridlayout.addWidget(self.datatime, 11, 1)
|
||||
self.gridlayout.addWidget(DataTimeU, 11, 2)
|
||||
|
||||
DataIntervalU = QLabel('ms', self)
|
||||
DataIntervalL = QLabel('Data Interval:', self)
|
||||
self.datainterval = QLineEdit(str(self.datainterval_val), self)
|
||||
self.gridlayout.addWidget(DataIntervalL, 12, 0)
|
||||
self.gridlayout.addWidget(self.datainterval, 12, 1)
|
||||
self.gridlayout.addWidget(DataIntervalU, 12, 2)
|
||||
|
||||
BufferTimeU = QLabel('s', self)
|
||||
BufferTimeL = QLabel('Buffer Time:', self)
|
||||
self.buffertime = QLineEdit(str(self.buffertime_val), self)
|
||||
self.gridlayout.addWidget(BufferTimeL, 13, 0)
|
||||
self.gridlayout.addWidget(self.buffertime, 13, 1)
|
||||
self.gridlayout.addWidget(BufferTimeU, 13, 2)
|
||||
|
||||
space = QLabel('', self)
|
||||
self.gridlayout.addWidget(space, 14, 0)
|
||||
|
||||
|
||||
class MainWindow(QTabWidget):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.initMe()
|
||||
|
||||
def initMe(self):
|
||||
|
||||
|
||||
self.setGeometry(300, 150, 500, 600)
|
||||
self.setWindowTitle('Fishgrid.cfg')
|
||||
|
||||
self.Grid = Grid_tab()
|
||||
self.addTab(self.Grid, 'Grid layout')
|
||||
|
||||
self.HardWare = Hardware_settings_tab()
|
||||
self.addTab(self.HardWare, 'Hardware')
|
||||
|
||||
self.Recording = Recording_settings()
|
||||
self.addTab(self.Recording, 'Recording')
|
||||
|
||||
self.init_vars()
|
||||
|
||||
if 'fishgrid.cfg' in os.listdir('.'):
|
||||
cfg_file = './fishgrid.cfg'
|
||||
self.read_cfg(cfg_file)
|
||||
|
||||
|
||||
self.Grid.get_widgets()
|
||||
self.HardWare.get_widgets()
|
||||
self.Recording.get_widgets()
|
||||
|
||||
cancel = QPushButton('&Cancel', self)
|
||||
cancel.clicked.connect(self.closeMe)
|
||||
cancel.resize(100, 30)
|
||||
cancel.move(380, 550)
|
||||
|
||||
save = QPushButton('&Save', self)
|
||||
save.clicked.connect(self.save_cfg)
|
||||
save.resize(100, 30)
|
||||
save.move(260, 550)
|
||||
|
||||
self.show()
|
||||
|
||||
def init_vars(self):
|
||||
self.Grid.columns_val = 8
|
||||
self.Grid.rows_val = 8
|
||||
self.Grid.col_dist_val = 50
|
||||
self.Grid.row_dist_val = 50
|
||||
self.Grid.channel_offset_val = 0
|
||||
self.Grid.elec_type_val = 'plain'
|
||||
self.Grid.ref_elec_type_val = 'plain'
|
||||
self.Grid.ref_elec_posx_val = 0.00
|
||||
self.Grid.ref_elec_posy_val = 0.00
|
||||
self.Grid.water_depth_val = 0.25
|
||||
|
||||
self.HardWare.ai_sr_val = 20
|
||||
self.HardWare.ai_max_vol_val = 1
|
||||
self.HardWare.amp_name_val = "16-channel-amplifier"
|
||||
self.HardWare.amp_model_val = 'EM-64B'
|
||||
self.HardWare.amp_type_val = 'differential'
|
||||
self.HardWare.gain_val = 100
|
||||
self.HardWare.highpass_cutoff_val = 100
|
||||
self.HardWare.lowpass_cutoff_val = 10
|
||||
|
||||
self.Recording.experiment_name_val = 'recording fish behavior'
|
||||
self.Recording.startdate_val = '~'
|
||||
self.Recording.starttime_val = '~'
|
||||
self.Recording.location_val = 'Colombia - Los Llanos'
|
||||
self.Recording.position_val = '~N, ~W'
|
||||
self.Recording.water_temp_val = 20
|
||||
self.Recording.water_cond_val = 5
|
||||
self.Recording.water_ph_val = 7
|
||||
self.Recording.water_oxy_val = 0
|
||||
self.Recording.comment_val = '~'
|
||||
self.Recording.experimenter_val = 'T. Raab et al. :)'
|
||||
self.Recording.datatime_val = 100
|
||||
self.Recording.datainterval_val = 1000
|
||||
self.Recording.buffertime_val = 60
|
||||
|
||||
def closeMe(self):
|
||||
quit()
|
||||
|
||||
def read_cfg(self, cfg_file):
|
||||
f = open(cfg_file, 'r')
|
||||
cfg = f.readlines()
|
||||
|
||||
for line in cfg:
|
||||
|
||||
if 'Columns1' in line:
|
||||
self.Grid.columns_val = int(line.split(':')[1].strip())
|
||||
elif 'Rows1' in line:
|
||||
self.Grid.rows_val = int(line.split(':')[1].strip())
|
||||
elif "ColumnDistance1" in line:
|
||||
self.Grid.col_dist_val = float(line.split(':')[-1].strip().replace('cm', ''))
|
||||
elif "RowDistance1" in line:
|
||||
self.Grid.row_dist_val = float(line.split(':')[-1].strip().replace('cm', ''))
|
||||
elif "ChannelOffset1" in line:
|
||||
self.Grid.channel_offset_val = int(line.split(':')[-1].strip())
|
||||
elif "ElectrodeType1" in line:
|
||||
self.Grid.elec_type_val = line.split(':')[-1].strip()
|
||||
elif "RefElectrodeType1" in line:
|
||||
self.Grid.ref_elec_type_val = line.split(":")[-1].strip()
|
||||
elif "RefElectrodePosX1" in line:
|
||||
self.Grid.ref_elec_posx_val = float(line.split(':')[-1].strip().replace('m', ''))
|
||||
elif 'RefElectrodePosY1' in line:
|
||||
self.Grid.ref_elec_posy_val = float(line.split(':')[-1].strip().replace('m', ''))
|
||||
elif 'WaterDepth1' in line:
|
||||
self.Grid.water_depth_val = float(line.split(':')[-1].strip().replace('m', ''))
|
||||
|
||||
elif "AISampleRate" in line:
|
||||
self.HardWare.ai_sr_val = float(line.split(':')[-1].strip().replace('kHz', ''))
|
||||
elif "AIMaxVolt" in line:
|
||||
self.HardWare.ai_max_vol_val = float(line.split(':')[-1].strip().replace('mV', ''))
|
||||
elif "AmplName" in line:
|
||||
self.HardWare.amp_name_val = line.split(':')[-1].strip()
|
||||
elif "AmplModel" in line:
|
||||
self.HardWare.amp_model_val = line.split(':')[-1].strip()
|
||||
elif ' Type ' in line:
|
||||
self.HardWare.amp_type_val = line.split(':')[-1].strip()
|
||||
elif 'Gain' in line:
|
||||
self.HardWare.gain_val = line.split(':')[-1].strip()
|
||||
elif "HighpassCutoff" in line:
|
||||
self.HardWare.highpass_cutoff_val = int(line.split(':')[-1].strip().replace('Hz', ''))
|
||||
elif 'LowpassCutoff' in line:
|
||||
self.HardWare.lowpass_cutoff_val = float(line.split(':')[-1].strip().replace('kHz', ''))
|
||||
|
||||
elif "Experiment.Name" in line:
|
||||
self.Recording.experiment_name_val = line.split(':')[-1].strip()
|
||||
elif "StartDate" in line:
|
||||
self.Recording.startdate_val = line.split(':')[-1].strip()
|
||||
elif "StartTime" in line:
|
||||
self.Recording.starttime_val = ':'.join(line.split(':')[1:]).strip()
|
||||
elif "Location" in line:
|
||||
self.Recording.location_val = line.split(':')[-1].strip()
|
||||
elif "Position" in line:
|
||||
self.Recording.position_val = line.split(':')[-1].strip()
|
||||
elif "WaterTemperature" in line:
|
||||
self.Recording.water_temp_val = float(line.split(':')[-1].strip().replace('C', ''))
|
||||
elif "WaterConductivity" in line:
|
||||
self.Recording.water_cond_val = float(line.split(':')[-1].strip().replace('uS/cm', ''))
|
||||
elif 'WaterpH' in line:
|
||||
self.Recording.water_ph_val = float(line.split(':')[-1].strip().replace('pH', ''))
|
||||
elif "WaterOxygen" in line:
|
||||
self.Recording.water_oxy_val = float(line.split(':')[-1].strip().replace('mg/l', ''))
|
||||
elif "Comment" in line:
|
||||
self.Recording.comment_val = ':'.join(line.split(':')[1:]).strip()
|
||||
elif "Experimenter" in line:
|
||||
self.Recording.experimenter_val = ':'.join(line.split(':')[1:]).strip()
|
||||
elif "DataTime" in line:
|
||||
self.Recording.datatime_val = int(line.split(':')[-1].strip().replace('ms', ''))
|
||||
elif "DataInterval" in line:
|
||||
self.Recording.datainterval_val = int(line.split(':')[-1].strip().replace('ms', ''))
|
||||
elif "BufferTime" in line:
|
||||
self.Recording.buffertime_val = int(line.split(':')[-1].strip().replace('s', ''))
|
||||
else:
|
||||
continue
|
||||
|
||||
def save_cfg(self):
|
||||
# if os.path.exists()
|
||||
f = open('./fishgrid.cfg', 'w+')
|
||||
|
||||
f.write('*FishGrid\n')
|
||||
f.write(' Grid &1:\n')
|
||||
f.write(' Used1 : true\n')
|
||||
f.write(' Columns1 : %.0f\n' % int(self.Grid.col_elecs.text()))
|
||||
f.write(' Rows1 : %.0f\n' % int(self.Grid.row_elecs.text()))
|
||||
f.write(' ColumnDistance1 : %.1fcm\n' % float(self.Grid.col_space.text()))
|
||||
f.write(' RowDistance1 : %.1fcm\n' % float(self.Grid.row_space.text()))
|
||||
f.write(' ChannelOffset1 : %.0f\n' % int(self.Grid.channel_offset.text()))
|
||||
f.write(' ElectrodeType1 : %s\n' % self.Grid.elec_type.text())
|
||||
f.write(' RefElectrodeType1: %s\n' % self.Grid.ref_elec_type.text())
|
||||
f.write(' RefElectrodePosX1: %.2fm\n' % float(self.Grid.ref_elec_x.text()))
|
||||
f.write(' RefElectrodePosY1: %.2fm\n' % float(self.Grid.ref_elec_y.text()))
|
||||
f.write(' WaterDepth1 : %.2fm\n' % float(self.Grid.water_depth.text()))
|
||||
f.write(' Hardware Settings:\n')
|
||||
f.write(' DAQ board:\n')
|
||||
f.write(' AISampleRate: %.3fkHz\n' % float(self.HardWare.AIsr.text()))
|
||||
f.write(' AIMaxVolt : %.1fmV\n' % float(self.HardWare.AImaxV.text()))
|
||||
f.write(' Amplifier:\n')
|
||||
f.write(' AmplName : %s\n' % self.HardWare.AmplName.text())
|
||||
f.write(' AmplModel : %s\n' % self.HardWare.AmplModel.text())
|
||||
f.write(' Type : %s\n' % self.HardWare.AmplType.text())
|
||||
f.write(' Gain : %.0f\n' % int(self.HardWare.gain.text()))
|
||||
f.write(' HighpassCutoff: %.0fHz\n' % int(self.HardWare.hp_cutoff.text()))
|
||||
f.write(' LowpassCutoff : %.3fkHz\n' % float(self.HardWare.lp_cutoff.text()))
|
||||
f.write(' Recording:\n')
|
||||
f.write(' General:\n')
|
||||
f.write(' Experiment.Name : %s\n' % self.Recording.exp_name.text())
|
||||
f.write(' StartDate : %s\n' % self.Recording.start_date.text())
|
||||
f.write(' StartTime : %s\n' % self.Recording.start_time.text())
|
||||
f.write(' Location : %s\n' % self.Recording.location.text())
|
||||
f.write(' Position : %s\n' % self.Recording.position.text())
|
||||
f.write(' WaterTemperature : %.1fC\n' % float(self.Recording.waterTemp.text()))
|
||||
f.write(' WaterConductivity: %.1fuS/cm\n' % float(self.Recording.waterCond.text()))
|
||||
f.write(' WaterpH : %.1fpH\n' % float(self.Recording.waterpH.text()))
|
||||
f.write(' WaterOxygen : %.1fmg/l\n' % float(self.Recording.waterOxy.text()))
|
||||
f.write(' Comment : %s\n' % self.Recording.comment.text())
|
||||
f.write(' Experimenter : %s\n' % self.Recording.experimenter.text())
|
||||
f.write(' Buffers and timing:\n')
|
||||
f.write(' DataTime : %.0fms\n' % float(self.Recording.datatime.text()))
|
||||
f.write(' DataInterval: %.0fms\n' % float(self.Recording.datainterval.text()))
|
||||
f.write(' BufferTime : %.0fs\n' % float(self.Recording.buffertime.text()))
|
||||
f.write(' Pre-processing:\n')
|
||||
f.write(' PreProcessor1: none\n')
|
||||
f.write(' PreProcessor2: none\n')
|
||||
f.write(' PreProcessor3: none\n')
|
||||
f.write(' PreProcessor4: none\n')
|
||||
f.write(' PreProcessor5: none\n')
|
||||
f.write(' PreProcessor6: none\n')
|
||||
f.write(' PreProcessor7: none\n')
|
||||
f.write(' PreProcessor8: none\n')
|
||||
f.write('\n')
|
||||
f.write('*CommonNoiseRemoval\n')
|
||||
f.write(' CommonNoiseRemoval: none\n')
|
||||
f.write('\n')
|
||||
f.write('*Spectra\n')
|
||||
f.write(' Size : "8192"\n')
|
||||
f.write(' Overlap: true\n')
|
||||
f.write(' Window : Hanning\n')
|
||||
f.write(' Decibel: true\n')
|
||||
f.write(' Decay : 100iterations\n')
|
||||
f.write(' FMin : 0Hz\n')
|
||||
f.write(' FMax : 2000Hz\n')
|
||||
f.write(' Clip : true\n')
|
||||
f.write('\n')
|
||||
f.write('*RMSPixel\n')
|
||||
f.write(' TraceLength: 10s\n')
|
||||
f.write('\n')
|
||||
f.write('*Recording\n')
|
||||
f.write(' PathFormat: "%04Y-%02m-%02d-%02H:%02M"\n')
|
||||
f.write('\n')
|
||||
f.write('*Acquisition\n')
|
||||
f.write(' device1 : /dev/comedi0\n')
|
||||
f.write(' blacklist1: ~\n')
|
||||
f.write(' device2 : /dev/comedi1\n')
|
||||
f.write(' blacklist2: ~\n')
|
||||
f.write(' device3 : /dev/comedi2\n')
|
||||
f.write(' blacklist3: ~\n')
|
||||
f.write(' device4 : /dev/comedi3\n')
|
||||
f.write(' blacklist4: ~\n')
|
||||
f.write(' reference : RSE\n')
|
||||
|
||||
f.close()
|
||||
|
||||
exit()
|
||||
|
||||
|
||||
def main():
|
||||
app = QApplication(sys.argv) # create application
|
||||
w = MainWindow() # create window
|
||||
|
||||
sys.exit(app.exec_()) # exit if window is closed
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Loading…
Reference in New Issue
Block a user