================= DIPLOMAT Commands ================= DIPLOMAT supports the following list of subcommands when running it's CLI. Tracking and Analysis Commands ============================== .. toctree:: :hidden: _clisummary/diplomat.track_with _clisummary/diplomat.track_and_interact _clisummary/diplomat.track _clisummary/diplomat.annotate _clisummary/diplomat.split_videos _clisummary/diplomat.tweak _clisummary/diplomat.yaml _clisummary/diplomat.convert _clisummary/diplomat.interact .. list-table:: :widths: auto * - :py:cli:`diplomat track_with` - Run DIPLOMAT tracking on videos and/or frame stores. Automatically select a frontend based on the passed arguments. Allows for selecting a specific tracker, or predictor. * - :py:cli:`diplomat track_and_interact` - Run diplomat in interactive tracking mode on the specified config and videos or frame stores. An alias for DIPLOMAT track_with with the SupervisedSegmentedFramePassEngine predictor. * - :py:cli:`diplomat track` - Run diplomat in a non-interactive tracking mode on the specified config and videos or frame stores. An alias for DIPLOMAT track_with with the SegmentedFramePassEngine predictor. The interactive UI can be restored later using diplomat interact function or cli command. * - :py:cli:`diplomat annotate` - Have diplomat annotate, or label a video given it has already been tracked. Automatically searches for the correct frontend to do labeling based on the passed config argument. * - :py:cli:`diplomat split_videos` - Split a video into even length segments. This will produce a list of videos with "-part{number}" appended to the original video name in the same directory as the original video. * - :py:cli:`diplomat tweak` - Make modifications to DIPLOMAT produced tracking results created for a video using a limited version of the interactive labeling UI. Allows for touching up and fixing any minor issues that may arise after tracking and saving results. * - :py:cli:`diplomat yaml` - Run DIPLOMAT based on a passed yaml run script. The yaml script should include a 'command' key specifying the DIPLOMAT sub-command to run and an 'arguments' key specifying the list of arguments (key-value pairs) to pass to the command. * - :py:cli:`diplomat convert` - Convert DIPLOMAT produced tracking results created for a video from the software specific format to a CSV file for inspection and analysis. * - :py:cli:`diplomat interact` - Open diplomat's interactive UI from a .dipui file. Allows for reloading the UI when diplomat crashes, or for further editing. Settings and backend will be restored automatically based on the settings and info passed during the first run. Development Commands ==================== .. toctree:: :hidden: _clisummary/diplomat.predictors.list _clisummary/diplomat.predictors.test _clisummary/diplomat.predictors.list_settings _clisummary/diplomat.frontends.list.all _clisummary/diplomat.frontends.list.loaded .. list-table:: :widths: auto * - :py:cli:`diplomat predictors list` - Retrieve and print all currently installed and available predictor plugins that can be used with deeplabcut to the console... * - :py:cli:`diplomat predictors test` - Run the tests for a predictor plugin. * - :py:cli:`diplomat predictors list_settings` - Gets the available/modifiable settings for a specified predictor plugin. * - :py:cli:`diplomat frontends list all` - List all frontends currently included with this version of DIPLOMAT. * - :py:cli:`diplomat frontends list loaded` - List frontends that have successfully loaded, and list their supported functions. Frontend Specific Commands (Advanced) ===================================== These are the frontend specific implementations of DIPLOMAT's core functionalities. When you run :cli:`diplomat track`, :cli:`diplomat tweak`, :cli:`diplomat annotate`, :cli:`diplomat supervised`, or :cli:`diplomat unsupervised`, you are calling these functions, as those commands determine the correct implementation based on the config file you pass. Therefore, you will likely almost never call these functions directly, but they are included as they list all settings that a backend supports. .. toctree:: :hidden: _clisummary/diplomat.deeplabcut.analyze_videos _clisummary/diplomat.deeplabcut.analyze_frames _clisummary/diplomat.deeplabcut.label_videos _clisummary/diplomat.deeplabcut.tweak_videos _clisummary/diplomat.deeplabcut.convert_results _clisummary/diplomat.sleap.analyze_videos _clisummary/diplomat.sleap.analyze_frames _clisummary/diplomat.sleap.label_videos _clisummary/diplomat.sleap.tweak_videos _clisummary/diplomat.sleap.convert_results _clisummary/diplomat.csv.label_videos _clisummary/diplomat.csv.tweak_videos .. list-table:: :widths: auto * - :py:cli:`diplomat deeplabcut analyze_videos` - Run DIPLOMAT tracking on videos using a DEEPLABCUT project and trained network. * - :py:cli:`diplomat deeplabcut analyze_frames` - Takes a DIPLOMAT Frame Store file (.dlfs) and makes predictions for the stored frames, using whatever predictor plugin is selected. This allows for the video to be run through the Deep Neural Network once, and then run through several prediction algorithms as many times as desired, saving time. It also allows for frames to be processed on one computer to be transferred to another computer for post-processing and predictions. * - :py:cli:`diplomat deeplabcut label_videos` - Create labeled videos using results generated by DIPLOMAT's DEEPLABCUT frontend. * - :py:cli:`diplomat deeplabcut tweak_videos` - Make minor modifications and tweaks to tracked results produced by DEEPLABCUT (or DIPLOMAT) using the interactive UI. * - :py:cli:`diplomat deeplabcut convert_results` - Convert DeepLabCut tracking results (.h5 file) to a csv file for easier introspection and analysis. * - :py:cli:`diplomat sleap analyze_videos` - Run DIPLOMAT tracking on a set of videos or a single video using a SLEAP model, generating results in ".slp" files. * - :py:cli:`diplomat sleap analyze_frames` - Run DIPLOMAT tracking on a set of frame store files or a single frame store using metadata from a SLEAP model, generating results in ".slp" files. * - :py:cli:`diplomat sleap label_videos` - Label videos tracked using the SLEAP frontend. * - :py:cli:`diplomat sleap tweak_videos` - Make minor modifications and tweaks to sleap results (stored in .slp files) using DIPLOMAT's interactive UI. * - :py:cli:`diplomat sleap convert_results` - Convert diplomat generated results for SLEAP (in .slp format) to a csv based table format for easier analysis of results. The csv will have the same name and file path as the original .slp file, just a different extension. * - :py:cli:`diplomat csv label_videos` - Labeled videos with arbitrary csv files in diplomat's csv format. * - :py:cli:`diplomat csv tweak_videos` - Make minor modifications and tweaks to arbitrary csv files using DIPLOMAT's light interactive UI.