Zapit-Optostim / zapit

General purpose optostimulation system
GNU Lesser General Public License v2.1
6 stars 1 forks source link

Add command to write a log file of what the current parameters are to a given directory #61

Closed raacampbell closed 1 year ago

raacampbell commented 1 year ago

Request from @LohseNeuro Each experiment will require a log file so we know how it was generated. The log file should contain at least the following:

So we want a command along the lines of : hZP.writeExperimentLogFile(dirToWriteTo) and have that produce a YAML file with the above information. Can call that at the start of each experiment.

raacampbell commented 1 year ago

Done here: 7f8279d2ed9605030f19e933baecfebb233d7b2c Produces files with contents of this sort:

zapitVersion: Zapit version 0.7.0-alpha  --  2023/1/16
MATLAB: MATLAB (R2022b) version 9.13
hostname: Robs-MBP.lan
laserPowerInMW: 5.0
stimFreqInHz: 40.0
offRampDownDuration_ms: 250.0
stimLocations01:
  ML: [3.56, -3.56]
  AP: [-1.24, -1.24]
stimLocations02:
  ML: [3.95, -3.95]
  AP: [-0.08, -0.08]
stimLocations03: {ML: 0.01, AP: -0.91}
stimLocations04:
  ML: [2.73, 1.88]
  AP: [1.66, 0.94]
stimLocations05:
  ML: [-2.73, -2.73]
  AP: [-2.98, -4.09]
raacampbell commented 1 year ago

The parameter file is logged automatically when an experiment directory is defined and the user runs zapit.pointer.sendSamples. 17d090a0d259853ae1e7bacda6fece5f5b1237f5

This works but we now also add a 'logging' argument to sendSamples to ensure we only write logs if sendSamples is called by the user directly (c3e0b04bbc5fa3c8763cb434178899ff59f45e91) and not by a button press in the Zapit GUI.