Several tools are provided with MetDetPy to support related functions.
- Evaluate - Performance evaluation and regression testing
- make_package - Packaging script to executable files
MetDetPy provides two detection tools: MetDetPy for video meteor detection and MetDetPhoto for image meteor detection. Each tool has its own characteristics and is suitable for different use cases.
For detailed usage information about these detection tools, please refer to the Detection Tools User Guide.
ClipToolkit can be used to create multiple video segments from a single video or a stack of images from these video segments at once. For detailed usage information, please see the ClipToolkit User Guide.
Evaluate is an integrated performance evaluation and regression testing tool. It can be used to generate result reports, evaluate the utilization of device resources, and compare differences between results.
To evaluate how MetDetPy performs on your video, you can simply run evaluate.py :
python evaluate.py json [--cfg CFG] [--load LOAD] [--save SAVE] [--metrics] [--debug]-
json: A JSON file inMDRFformat, which needs to contain the necessary information related to the video (video file and mask file paths, start and end times) to initiate. Its format should meet the requirements specified in Meteor Detection Recording Format (MDRF). -
--cfg: Configuration file. By default, it uses the default configuration, which is m3det_normal.json. -
--load: If this is enabled with a path to anotherJSON,evaluate.pywill directly load its results for comparison as the current detection result instead of running detection through the video. -
--save: The path and filename where the detection results will be saved. -
--metrics: Depending on the category of the provided JSON file, it performs regression testing (comparing with other prediction results) or calculates detection precision and recall (comparing with ground truth). To apply this option, thejsonfile needs to containresultsinformation. -
--debug: When startingevaluate.pywith this option, detailed debug information will be provided.
(To be updated)
Use make_package.py to freeze the MetDetPy programs with either Nuitka or PyInstaller. Nuitka is the default backend.
python make_package.py [--backend {nuitka,pyinstaller}]
[--apply-upx] [--apply-zip] [--onefile]
[--mingw64] [--macos-sign-identity IDENTITY]
[--windowed] [--icon ICON_PATH]-
--backend: selectnuitkaorpyinstaller. Defaults tonuitka. -
--apply-upx: apply UPX to squeeze the size of the executable program. -
--apply-zip: generate a ZIP package after packaging. -
--onefile: generate one executable per program instead of a directory bundle. -
--mingw64: use the MinGW64 compiler with the Nuitka backend on Windows. -
--macos-sign-identity: macOS signing identity for the Nuitka backend. -
--windowed: use windowed mode with the PyInstaller backend. -
--icon: executable icon used by the PyInstaller backend.
Executables and the optional ZIP package are generated in the dist directory.
Notice:
- When using Nuitka, install
nuitka>=2.0.0and an available C/C++ compiler. For PyInstaller, installpyinstaller>=6.0. - Due to the nature of Python packaging, these tools cannot generate cross-platform executables; build the executable on the target platform.
- If
matplotliborscipyexists in the environment, they may be included in the packaged output. To reduce package size, prepare a clean environment or avoid installing heavy optional dependencies.