CEED Config
The following are the configuration options provided by the app. It can be configured by changing appropriate values in the config.yaml settings file. The options default to the default value of the classes for each of the options.
- external_function_plugin_package:
Default value:
''The name of an external function plugin package that contains additional functions to be displayed in the GUI to the user. See
pluginfor details.- external_stage_plugin_package:
Default value:
''The name of an external stage plugin package that contains additional stages to be displayed in the GUI to the user. See
pluginfor details.- inspect:
Default value:
falseEnables GUI inspection. If True, it is activated by hitting ctrl-e in the GUI.
- last_directory:
Default value:
'~'The last directory opened in the GUI.
view
- LED_mode:
Default value:
RGBThe LED mode the projector will be set to during the experiment. Its value is from the
led_modes.- LED_mode_idle:
Default value:
noneThe LED mode the projector will be set to before/after the experiment. This is used to turn OFF the projector LEDs in between experiments so that light is not projected on the tissue while stages are designed. Its value is from the
led_modes.- cam_transform:
Default value:
- - 1.0 - 0.0 - 0.0 - 0.0 - - 0.0 - 1.0 - 0.0 - 0.0 - - 0.0 - 0.0 - 1.0 - 0.0 - - 0.0 - 0.0 - 0.0 - 1.0
A 4x4 matrix that controls the rotation, offset, and scaling of the camera images relative to the projector. In the Ceed GUI, a user can transform the camera image, in addition to
flip_camerauntil it fully aligns with the projector output. See also Camera-projector-array alignment.- current_blue:
Default value:
14The current to use for the projector blue LED. Its value is between 0 to 43 amps.
- current_green:
Default value:
27.74The current to use for the projector green LED. Its value is between 0 to 43 amps.
- current_red:
Default value:
42.32The current to use for the projector red LED. Its value is between 0 to 43 amps.
- experiment_uuid:
Default value:
!!binary ""
A unique uuid that is re-generated before each experiment and sent along over the corner pixel as the initial uniquely-identifying handshake-pattern. It allows us to locate this experiment in the MCS data post-hoc. See
DataSerializerBase.- flip_camera:
Default value:
falseWhether to flip the camera images horizontally, around the center. See also Camera-projector-array alignment.
- flip_projector:
Default value:
trueWhether to flip the projector output horizontally, around the center. See also Camera-projector-array alignment.
- frame_rate:
Default value:
nullThe frame-rate of the GPU that plays the experiment. This should be set to the exact refresh rate of the GPU, as can be found in e.g. the nvidia control panel. Otherwise, the experiment will be out of sync and played incorrectly. This is internally converted to a fraction (
frame_rate_numerator,frame_rate_denominator), so the number must be such that it can be converted to a fraction. E.g. 119.96 or 59.94 can be represented correctly as fractions.- frame_rate_denominator:
Default value:
nullThe denominator of the
frame_ratefraction.- frame_rate_numerator:
Default value:
nullThe numerator of the
frame_ratefraction.- fullscreen:
Default value:
trueWhether the second Ceed window that runs the “real experiment” is run in fullscreen mode. In fullscreen mode the window has no borders and takes over the whole screen.
- log_debug_timing:
Default value:
falseWhether to log the times that frames are drawn and rendered to a debug section in the h5 file. If True, this will additionally be logged for each displayed frame in a special section in the file.
- mea_diameter:
Default value:
3The diameter in pixels of the displayed electrode circles in the grid. See
mea_transformalso.- mea_num_cols:
Default value:
12The number of electrode columns in the array. See
mea_transformalso.- mea_num_rows:
Default value:
12The number of electrode rows in the array. See
mea_transformalso.- mea_pitch:
Default value:
20The distance in pixels, center-to-center, between neighboring rows/columns. It is assumed that it is the same for columns and rows. See
mea_transformalso.- mea_transform:
Default value:
- - 1.0 - 0.0 - 0.0 - 0.0 - - 0.0 - 1.0 - 0.0 - 0.0 - - 0.0 - 0.0 - 1.0 - 0.0 - - 0.0 - 0.0 - 0.0 - 1.0
A 4x4 matrix that controls the rotation, offset, and scaling of the mea array relative to the camera. This is a grid that corresponds to the electrodes in the electrode array. In the Ceed GUI, a user can transform this grid, in addition to
mirror_meauntil it fully aligns with a camera image of the grid from the actual array. See also Camera-projector-array alignment and the othermea_properties of this class.- mirror_mea:
Default value:
trueWhen True, the MEA grid is mirrored vertically around the center. See
mea_transformalso.- output_count:
Default value:
trueWhether the corner pixel is used to output frame information on the PROPixx controller IO pot as described in
DataSerializerBase. If True,ceed.storage.controller.DataSerializerBaseis used to set the 24 bits of the corner pixel. Otherwise, that pixel is treated like the other normal pixels.- pad_to_stage_handshake:
Default value:
trueAd described in
DataSerializerBase, Ceed sends handshaking data to the MCS system at the start of each experiment. This helps us align the Ceed and MCS data afterwards. If the root stage of the experiment is too short, it’s possible the full handshake would not be sent, preventing alignment afterwards. Ifpad_to_stage_handshake, then the root stage will be padded so it goes for the minimum number of clock frames required to finish the handshake, if it’s too short. The shapes will be black for those padded frames.- pre_compute_stages:
Default value:
falseWhether the stage run by the experiment should be pre-computed. See Pre-computing for details.
- screen_height:
Default value:
1080The screen height in pixels on which the data is played. This is the full-screen height.
- screen_offset_x:
Default value:
0When there are multiple monitors, the monitor on which the experiment is shown in full-screen mode is controlled by the x-position of the displayed window. E.g. to show it on the right monitor of two monitors each 1920 pixel wide, and with the main monitor being on the left. Then the
screen_offset_xshould be set to1920.- screen_width:
Default value:
1920The screen width in pixels on which the data is played. This is the full-screen width.
- skip_estimated_missed_frames:
Default value:
trueWhether to drop frames to compensate when we detect that a previous frame was displayed for longer than a single GPU frame duration. Then, we may want to drop an equivalent number of frames, rather than displaying all the subsequent frames at a delay. See
FrameEstimationandTeensyFrameEstimationfor how we detect these long frames. UseTeensyFrameEstimation.use_teensyto control which estimator is used.- use_software_frame_rate:
Default value:
falseDepending on the CPU/GPU, the software may be unable to render faster than the GPU refresh rate. In that case, the GPU limits us to the GPU frame rate and
frame_rateshould be set to match the GPU refresh rate and this should be False. If the GPU isn’t forcing a frame rate. Then this should be True andframe_rateshould be the desired frame rate. That will restrict us the given frame rate. However, the actual frame rate will be wildly inaccurate in this mode, so it’s only useful for testing. One can tell whether the GPU is forcing a frame rate by settingframe_rateto a large value and settinguse_software_frame_rateto False and seeing what the resultant frame rate is. If it isn’t capped at some value constant, e.g. 120Hz, it means that the GPU isn’t forcing a rate.- video_mode:
Default value:
RGBThe current video mode from among the
video_modes. See also Video mode.
teensy_frame_estimation
- usb_product_id:
Default value:
1158The Teensy product ID. This is how we find the attached Teensy on the bus. If there’s more than one, this needs to be modified.
- usb_vendor_id:
Default value:
5824The Teensy vendor ID. This is how we find the attached Teensy on the bus. If there’s more than one, this needs to be modified.
- use_teensy:
Default value:
trueWhether to use the Teensy. If it’s not attached, set this to False. When False, it falls back on
FrameEstimation.
frame_estimation
- skip_detection_smoothing_n_frames:
Default value:
4How many frames ot average to detect when a frame needs to be skipped. See class description.
serializer
- clock_idx:
Default value:
2The bit index to use for the clock. A number between 0-23, inclusive.
- count_indices:
Default value:
- 19 - 20
A list of bit indices to use for the long counter as explained in
DataSerializerBase. Each item is a number between 0-23, inclusive. Their order is the order of the counter bit pattern. The first index is for the first (least significant) bit of the counter etc. If the length ofcount_indicesdoesn’t dividecounter_bit_widthexactly, the ends are padded with zeros for those bits.- counter_bit_width:
Default value:
32The number of bits in the long counter, as described in
DataSerializerBase. Must be a multiple of 8 (to align with a byte).- projector_to_aquisition_map:
Default value:
2: 0 3: 1 4: 2 10: 3 11: 4 12: 5 18: 6 19: 7 20: 8
Maps the bit indices used by Ceed to the corresponding bit indices used by MCS. It is required to be able to align the two systems. I.e. if port zero of the projector is connected to port 3 of the MCS controller, then this would be
{0: 3}.- short_count_indices:
Default value:
- 3 - 4 - 10 - 11 - 12 - 18
A list of bit indices to use for the short counter as explained in
DataSerializerBase. Each item is a number between 0-23, inclusive. Their order is the order of the counter bit pattern. E.g. if it was[1, 3], the the bit pattern for just the counter would look like: 0b0000, 0b0010, 0b1000, 0b1010, 0b0000, 0b0010, 0b1000…
player
- player_name:
Default value:
ffmpegThe name of the currently selected video player. It is one of “ffmpeg”, “thor”, “flir”, or “client”.
video_recorder
- estimate_record_rate:
Default value:
falseWhether to use
cpl_media.player.BasePlayer.real_ratefor the recorder frame rate, as opposed to the one initially provided by the player.- metadata_record:
Default value:
null(internal) Describes the video metadata of the recorder. This is the requested format, or best guess of the metadata. Read only.
- record_directory:
Default value:
/home/runner
The directory into which videos should be saved.
- record_fname:
Default value:
video{}.mkv
The filename to be used to record the next video. If
{}is present in the filename, it’ll be replaced with the value ofrecord_fname_countwhich auto increments after every video, when used. We use Python’sformatmachinery for this.- record_fname_count:
Default value:
0A counter that auto increments by one after every recorded video. Used to give unique filenames for each video file. See
record_fname.- requested_record_duration:
Default value:
0The total duration that we should record. If zero, duration was not set.
thor
- binning_x:
Default value:
0The x binning value to use.
- binning_x_range:
Default value:
- 0 - 0
The supported exposure range.
- binning_y:
Default value:
0The y binning value to use.
- binning_y_range:
Default value:
- 0 - 0
The supported exposure range.
- black_level:
Default value:
0The black level value to use.
- black_level_range:
Default value:
- 0 - 100
The supported exposure range.
- color_gain:
Default value:
- 1 - 1 - 1
The color gain for each red, green, and blue channel.
- exposure_ms:
Default value:
0The exposure value in ms to use.
- exposure_range:
Default value:
- 0 - 100
The supported exposure range in ms.
- frame_queue_size:
Default value:
1The max number of image frames to be allowed on the camera’s hardware queue. Once exceeded, the frames are dropped.
- freq:
Default value:
20 MHz
The frequency to use.
- gain:
Default value:
0The gain value to use.
- gain_range:
Default value:
- 0 - 100
The supported exposure range.
- metadata_play:
Default value:
null(internal) Describes the video metadata of the video player. This is the requested format, or best guess of the metadata. Read only.
- metadata_play_used:
Default value:
null(internal) Describes the video metadata of the video player that is actually used by the player. This must be set before recorders may allow recording the player. Depending on the metadata needed by the recorder, it may refuse to record until the needed metadata is given. Read only.
- num_queued_frames:
Default value:
0The number of image frames currently on the camera’s hardware queue.
- roi_height:
Default value:
0The height after the y start position of the ROI in pixels, to use.
- roi_width:
Default value:
0The width after the x start position of the ROI in pixels, to use.
- roi_x:
Default value:
0The x start position of the ROI in pixels.
- roi_y:
Default value:
0The y start position of the ROI in pixels.
- sensor_size:
Default value:
- 0 - 0
The size of the sensor in pixels.
- serial:
Default value:
''The serial number of the camera that will be opened.
- serials:
Default value:
[]The list of serial numbers representing the cameras available.
- supported_freqs:
Default value:
- 20 MHz
The supported frequencies.
- supported_taps:
Default value:
- '1'
The supported taps.
- supported_triggers:
Default value:
- SW Trigger - HW Trigger
The trigger types supported by the camera.
- supports_color:
Default value:
falseWhether the camera supports color.
- taps:
Default value:
'1'The tap to use.
- trigger_count:
Default value:
0The number of frames to capture in response to the trigger.
- trigger_type:
Default value:
SW Trigger
The trigger type of the camera to use.
network_client
- metadata_play:
Default value:
null(internal) Describes the video metadata of the video player. This is the requested format, or best guess of the metadata. Read only.
- metadata_play_used:
Default value:
null(internal) Describes the video metadata of the video player that is actually used by the player. This must be set before recorders may allow recording the player. Depending on the metadata needed by the recorder, it may refuse to record until the needed metadata is given. Read only.
- port:
Default value:
0The server port that broadcasts the data.
- server:
Default value:
''The server address that broadcasts the data.
- timeout:
Default value:
0.01How long to wait before timing out when reading data before checking the queue for other requests.
image_file_recorder
- compression:
Default value:
rawWhether to compress when
extensionis tiff. Can be one of'raw', 'lzw', 'zip'.- extension:
Default value:
tiffThe extension of the images being saved.
- metadata_record:
Default value:
null(internal) Describes the video metadata of the recorder. This is the requested format, or best guess of the metadata. Read only.
- record_directory:
Default value:
/home/runner
The directory into which videos should be saved.
- record_prefix:
Default value:
image_The prefix to the filename of the images being saved.
- requested_record_duration:
Default value:
0The total duration that we should record. If zero, duration was not set.
flir
- metadata_play:
Default value:
null(internal) Describes the video metadata of the video player. This is the requested format, or best guess of the metadata. Read only.
- metadata_play_used:
Default value:
null(internal) Describes the video metadata of the video player that is actually used by the player. This must be set before recorders may allow recording the player. Depending on the metadata needed by the recorder, it may refuse to record until the needed metadata is given. Read only.
- saved_nodes:
Default value:
{}- serial:
Default value:
''The serial number of the camera to open.
ffmpeg
- dshow_filename:
Default value:
''The name of the dshow camera to open.
- dshow_opt:
Default value:
''The camera options associated with
dshow_true_filenamewhen dshow is used.- dshow_rate:
Default value:
0The frame rate to request from the dshow camera.
- dshow_true_filename:
Default value:
''The real and complete filename of the direct show (webcam) device.
- file_fmt:
Default value:
''The format used to play the video. Can be empty or a format e.g.
mjpegfor webcams.- icodec:
Default value:
''The codec used to open the video stream with if it needs to be specified for the camera.
- metadata_play:
Default value:
null(internal) Describes the video metadata of the video player. This is the requested format, or best guess of the metadata. Read only.
- metadata_play_used:
Default value:
null(internal) Describes the video metadata of the video player that is actually used by the player. This must be set before recorders may allow recording the player. Depending on the metadata needed by the recorder, it may refuse to record until the needed metadata is given. Read only.
- play_filename:
Default value:
''The filename of the media being played. Can be e.g. a filename etc.
- use_dshow:
Default value:
trueWhether we use dshow - i.e. USB webcams, or normal media sources.
function
data
- backup_interval:
Default value:
5.0How frequently the backup file is flushed to disk. The backup file is the one into which all new data is written to until saved explicitly in the GUI to the current data file. Until that happens, we write date to the backup file.
- compression:
Default value:
AutoWhether the h5 data file should internally compress the data that it writes. This is handled internally by the H5 library, with no external difference in how the file is loaded/saved/accessed, except that the file size may be smaller when compressed. Additionally, it may take a little more CPU when saving experiment data if compressions is enabled. Valid values are
"ZIP","None", or"Auto".- root_path:
Default value:
''The directory part of the path where the data is saved.