#!/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 ==="