File size: 1,090 Bytes
14e412f
95c0b21
14e412f
 
 
 
 
 
 
 
95c0b21
6b73ec3
14e412f
6b73ec3
14e412f
6b73ec3
14e412f
6b73ec3
14e412f
95c0b21
14e412f
95c0b21
 
 
 
14e412f
 
 
 
 
 
95c0b21
 
 
 
14e412f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import logging
from typing import List, Dict, Any

# Setup logging
logging.basicConfig(
    filename="app.log",
    level=logging.INFO,
    format="%(asctime)s - %(levelname)s - %(message)s"
)

def update_metrics(detected_items: List[Dict[str, Any]]) -> Dict[str, Any]:
    """
    Update metrics based on detected items.
    Args:
        detected_items: List of detected items (dicts with type, confidence, etc.)
    Returns:
        dict: Updated metrics
    """
    try:
        items = detected_items if detected_items else []
        metrics = {
            "items": items,
            "total_detected": len(items),
            "cracks": len([item for item in items if item.get("type") == "crack"]),
            "holes": len([item for item in items if item.get("type") == "hole"])
        }
        logging.info(f"Updated metrics: {metrics}")
        return metrics
    except Exception as e:
        logging.error(f"Error updating metrics: {str(e)}")
        return {
            "items": [],
            "total_detected": 0,
            "cracks": 0,
            "holes": 0
        }