{
    "success": true,
    "project": "GDE195 / DE195",
    "ecm": 2,
    "note": "DE195 ECM 2 — 3 outlet pipe ROI analysis",
    "roi_count": 3,
    "status": "ok",
    "label_color": "green",
    "label_text": "Good",
    "display_text": "Good",
    "reason": "No water flow or clean water flow detected from ECM 2 3 outlet pipe ROIs",
    "has_discharge_pipe": true,
    "is_real_flow": false,
    "is_clean_water": false,
    "is_silty_water": false,
    "detected_pipe_count": 3,
    "active_flow_count": 0,
    "muddy_roi_count": 0,
    "clean_roi_count": 0,
    "blue_ratio": 0.7239999999999999769073610877967439591884613037109375,
    "flow_blue_ratio": 0.95040000000000002255973186038318090140819549560546875,
    "nonblue_ratio": 0.049599999999999998256949851338504231534898281097412109375,
    "white_ratio": 0,
    "brown_ratio": 0,
    "yellow_ratio": 0,
    "graycyan_ratio": 0,
    "dark_ratio": 0,
    "silty_strength": 0,
    "clean_strength": 0,
    "image_url": "https://cctv.envautomation.com/cctv/test_path23/de195/ecm2/roi_masked.jpg?t=1784770975",
    "image_file": "/home/envcctv/public_html/cctv/test_path23/de195/ecm2/roi_masked.jpg",
    "width": 1920,
    "height": 1080,
    "analyzed_at": "2026-07-23 09:42:55",
    "db_name": "envcctv_de195",
    "db_table": "de195_image_result",
    "db_saved": true,
    "db_error": "",
    "roi_debug": {
        "pipe_1_zone": {
            "roi": [
                0.26500000000000001332267629550187848508358001708984375,
                0.309999999999999997779553950749686919152736663818359375,
                0.309999999999999997779553950749686919152736663818359375,
                0.465000000000000024424906541753443889319896697998046875
            ],
            "px": [
                508,
                334,
                595,
                502
            ],
            "frame_usable": 5694,
            "frame_blue_ratio": 0.699500000000000010658141036401502788066864013671875,
            "flow_total": 8909,
            "flow_usable": 8909,
            "flow_blue_ratio": 0.95999999999999996447286321199499070644378662109375,
            "flow_nonblue_ratio": 0.040000000000000000832667268468867405317723751068115234375,
            "flow_white_ratio": 0,
            "flow_brown_ratio": 0,
            "flow_yellow_ratio": 0,
            "flow_graycyan_ratio": 0,
            "flow_dark_ratio": 0,
            "mass_row_ratio": 0,
            "run_ratio": 0,
            "max_row_ratio": 0,
            "roi_clean_strength": 0,
            "roi_muddy_strength": 0,
            "pipe_detected": true,
            "clean_flow_detected": false,
            "muddy_flow_detected": false,
            "flow_detected": false,
            "muddy_roi_detected": false,
            "clean_roi_detected": false
        },
        "pipe_2_zone": {
            "roi": [
                0.3449999999999999733546474089962430298328399658203125,
                0.330000000000000015543122344752191565930843353271484375,
                0.40000000000000002220446049250313080847263336181640625,
                0.465000000000000024424906541753443889319896697998046875
            ],
            "px": [
                662,
                356,
                768,
                502
            ],
            "frame_usable": 5960,
            "frame_blue_ratio": 0.6852000000000000312638803734444081783294677734375,
            "flow_total": 9432,
            "flow_usable": 9432,
            "flow_blue_ratio": 0.89239999999999997104538351777591742575168609619140625,
            "flow_nonblue_ratio": 0.1076000000000000011990408665951690636575222015380859375,
            "flow_white_ratio": 0,
            "flow_brown_ratio": 0,
            "flow_yellow_ratio": 0,
            "flow_graycyan_ratio": 0,
            "flow_dark_ratio": 0,
            "mass_row_ratio": 0,
            "run_ratio": 0,
            "max_row_ratio": 0,
            "roi_clean_strength": 0,
            "roi_muddy_strength": 0,
            "pipe_detected": true,
            "clean_flow_detected": false,
            "muddy_flow_detected": false,
            "flow_detected": false,
            "muddy_roi_detected": false,
            "clean_roi_detected": false
        },
        "pipe_3_zone": {
            "roi": [
                0.434999999999999997779553950749686919152736663818359375,
                0.36999999999999999555910790149937383830547332763671875,
                0.5,
                0.54000000000000003552713678800500929355621337890625
            ],
            "px": [
                835,
                399,
                960,
                583
            ],
            "frame_usable": 8886,
            "frame_blue_ratio": 0.7657000000000000472510919280466623604297637939453125,
            "flow_total": 14110,
            "flow_usable": 14110,
            "flow_blue_ratio": 0.98299999999999998490096686509787105023860931396484375,
            "flow_nonblue_ratio": 0.01700000000000000122124532708767219446599483489990234375,
            "flow_white_ratio": 0,
            "flow_brown_ratio": 0,
            "flow_yellow_ratio": 0,
            "flow_graycyan_ratio": 0,
            "flow_dark_ratio": 0,
            "mass_row_ratio": 0,
            "run_ratio": 0,
            "max_row_ratio": 0,
            "roi_clean_strength": 0,
            "roi_muddy_strength": 0,
            "pipe_detected": true,
            "clean_flow_detected": false,
            "muddy_flow_detected": false,
            "flow_detected": false,
            "muddy_roi_detected": false,
            "clean_roi_detected": false
        }
    }
}