-
Notifications
You must be signed in to change notification settings - Fork 10
Settings.ini
Here we will explain the parameters and configurations that you can set in settings.ini
As you might already have guessed, resolution is the width and height of the video stream that will be passed to the neural network.
In case of a RealSense or Generic camera it will directly change the output resolution on the device level, while output from Pylon controlled cameras will be resized by cv2.resize(frame, (width, height)) (Note: Basler cameras controlled by Pylon can be configured using the Basler PylonViewer software, which will be stored after closing the device).
Similiar to resolution the framerate is directly altering the output on the device level (RealSense and Generic). Unfortunately, Pylon cameras can only be configured "easily" with the PylonViewer. Note: If you want to achieve lowest latency with DLStream performance, you might need to increase the camera framerate beyond DLStreams actual performance. This will allow you to get out these extra milliseconds, but you might end up in an uneven framerate (e.g. 33). Nothing to worry though! DLStream is saving the time between two frames in the output, so that you always have a time reference.
In its core DLStream was developed to incorporate multiple streams/cameras in the same framework. Therefore, we developed DLStream to use all available input from a RealSense camera (depth, color and infrared). For all other cameras, this setting is useless. If you are interested in utilizing your RealSense camera, reach out to us.
This is the path to your output folder where the output video and csv file will be stored. The path (string) needs to be specified without " " or ' '.
This is an experimental setting in line with the above Stream setting. It allows the simulateous analysis of multiple streams. This will slow down DLStream and has not been fully incorporated yet into the experiment/trigger environment. It takes a boolean (True or False) and will allow the camera manager to acess multiple cameras. Note, that currently only cameras from the same type can be accessed simultaneously (Pylonor RealSense).
A number (int) usually between 0-10 that specifies the camera that OpenCv should access if multiple cameras are connected. Unfortunately, this number is not directly linked to the USB port number or starting at 0 and then increasing so that 3 cameras would be 0, 1 and 2. But before you get angry at the weird source naming, if you only have one camera DLStream will find it automatically (Yeah!).
This is the path to your deeplabcut folder where the neural network of your choice should be stored. Note, that this not the project folder where in the current version of DLC the network was trained. If you have a DLC version > 1.11 (and there is no reason currently to not have it), you will need to copy your network into the model folder in your DLC path. This will change once we incorporated DLC-Live, so stay tuned. Again, the full path (string) needs to be specified without " " or ' '.
This is the full name (string) of your dlc trained neural network within the model folder of your dlc path. Note: If you want to be able to quickly switch between models (without copy+pasting the names all the time), you can use ; to comment the unused lines like this ;MODEL = not_used_network.
Again, the full name (string) needs to be specified without " " or ' '.
This number is directly linked to the set_up_experiment() function in DeepLabStream.py. If you added imported and added your experiment correctly, you can use the settings to pick the experiment that will be started using the GUI's Start Experiment feature.
If you created a config file that utilizes a base experiment, you need to enter "BASE" here. This will allow you to load any Experiment directly from the config file by entering the name of it below. Note, that currently the config file needs to stay in the experiments/configs folder!
If you want to use custom experiments, you need to enter "CUSTOM". This will allow you to import Experiments from experiments/custom/experiments by their name as before.
If EXP_ORIGIN = CUSTOM: This name directly referes to the Experiment module and selects the experiment that will be run when using DLStream. If you added imported and added your experiment correctly (Exact name).
If EXP_ORIGIN = BASE: This name directly referes to the config file (.ini) and will load the experiment specified with the parameters set in the file.
You can use the settings to pick the experiment that will be started using the GUI's Start Experiment feature.
This boolean setting will automatically record a video output when you press Start Experiment in the DLStream GUI. If it is set to False, you can start recording at any time by pressingg Start recording.
This is the path to a video that you want to use for offline DLStream testing in DLStream or the VideoAnalyzer.py (A very usefull tool to test your experiments before actually starting them). Again, the full path (string) needs to be specified without " " or ' '.
This boolean setting will force DLStream to use a prerecorded video specified in VIDEO_SOURCE as input and treat it like a camera stream. Note that it will take FRAMERATE and RESOLUTION to change the output framerate and resolution accordingly.
Specifiy the port, that is used to connect both computers. See SmoothStream for additional details, how to set this up.
This boolean setting will force DLStream to use a webcam connected to DLStream via network. DLStream will wait for input from that stream even if it is not running, so make sure that your webcam/computer on the other side is streaming. Note that it will take FRAMERATE and RESOLUTION to change the output framerate and resolution accordingly.