biomoth-csv
All format examples · Machine-readable schema · Convert outputs to COCO
filePath associates detections with images; dimensions require a manifest. size is cm² using the notebook’s hard-coded calibration, not pixel area. Empty images leave no rows.
Example
Illustrative values, not predictions from a model. Unless stated otherwise, the image is 200 pixels wide and 100 pixels high.
filePath,fileName,year,site,X_Min,Y_Min,X_Max,Y_Max,d_X,d_Y,d_X_cm,d_Y_cm,size,confidence,class
site/frame.jpg,frame.jpg,2023,site,10,20,50,60,40,40,0.5496688741721855,0.5146198830409356,0.28287053173773286,0.8,0
Convert to a standard format
Use Converter.convert with source="biomoth-csv" and target="coco". Your application supplies the predictions and any required image context or producer settings. The adapter validates whether the output contains the information the target needs.
This importer accepts multiple images: set cardinality="collection".
General conversion example and required context
Inspect the intermediate representation for this example
This developer example prints ISIR, the internal representation used between adapters. Run from the repository checkout; no model download is needed.
python3 examples/formats/to_isir.py biomoth-csvHow to interpret it
Scope: Active batch export predictions_2023.csv after TorchScript inference, confidence filtering, NMS and undoing letterbox padding. Excludes commented single-image CSV exports and downstream biomass aggregation.
Coordinates: X_Min,Y_Min,X_Max,Y_Max are floating-point original-image pixel corners, clipped to image bounds. d_X and d_Y are pixel width/height.
Confidence: Detector confidence in [0,1]; notebook defaults CONF_THRES=0.25 and IOU_THRES=0.50.
Empty: Images without retained detections contribute no rows, so the CSV alone cannot distinguish them from unprocessed images. A header is written even when the first image has no detections.
Identity: year is hard-coded to 2023; site comes from LOCATIONS; filePath is site/fileName. The single-class branch assigns class 0; float serialization such as 0.0 is safely castable to integer.
Measurements: d_X_cm=d_X*(83/6040), d_Y_cm=d_Y*(44/3420); size is their product in square centimetres. These are hard-coded author calibration factors, not calibration for arbitrary images.
Representation: One CSV table decoded using the header as field names. Numeric cells may be safely cast to the declared types; the author writes CSV, not JSON objects.
Evidence
Real author checkpoint on CPU, populated specimen output and empty blank control. See src/probe/reports/2026-09-30-format-expansion/biomoth/report.json for exact invocation and scope. This is a format probe, not an accuracy evaluation.