Files

56 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
if [ -d "$SCRIPT_DIR/../src" ]; then
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
else
PROJECT_ROOT="$SCRIPT_DIR"
fi
cd "$PROJECT_ROOT"
export PYTHONPATH="$PROJECT_ROOT/src"
if [ -f "$PROJECT_ROOT/venv/bin/python" ]; then
PYTHON="$PROJECT_ROOT/venv/bin/python"
else
PYTHON="python3"
fi
CONFIG_FILE="${CONFIG_FILE:-configs/mortality_config.yaml}"
INPUT_PATH="${1:-}"
OUTPUT_DIR="${2:-}"
echo "=== Starting Whole-Image Mortality Chicken Detection ==="
echo "Config File: $CONFIG_FILE"
if [ -n "$INPUT_PATH" ]; then
echo "Input Path Override: $INPUT_PATH"
fi
if [ -n "$OUTPUT_DIR" ]; then
echo "Output Dir Override: $OUTPUT_DIR"
fi
CMD=($PYTHON -m chicken_counter.cli mortality --config "$CONFIG_FILE")
if [ -n "$INPUT_PATH" ]; then
CMD+=(--input "$INPUT_PATH")
fi
if [ -n "$OUTPUT_DIR" ]; then
CMD+=(--output-dir "$OUTPUT_DIR")
fi
if [ -n "${CONF:-}" ]; then
CMD+=(--conf "$CONF")
fi
if [ -n "${IOU:-}" ]; then
CMD+=(--iou "$IOU")
fi
if [ -n "${MIN_AREA:-}" ]; then
CMD+=(--min-area "$MIN_AREA")
fi
if [ -n "${DEDUPE_RADIUS:-}" ]; then
CMD+=(--dedupe-radius "$DEDUPE_RADIUS")
fi
"${CMD[@]}"
echo "=== Mortality Detection Completed ==="