How devgxg/iminsight works
IMInsight is a naval-image analysis web app. A user selects an image in the React interface, submits it to Flask, and receives classification, a caption, object detections, anomaly findings, and a naval assessment. GeoTIFF preview is a separate frontend capability using Leaflet tiles. The sampled Flask route establishes the analysis calls and response assembly; classification implementation is unsampled, and the README’s planned geovisualization is represented only by the implemented preview.
Main entry points: app.py Upload Analysis Route · upload.jsx Upload & Report · App.jsx App Shell · GeoTIFFpreview.jsx GeoTIFF Preview
Components 12
Web Interface
- React Entry
frontend/src/main.jsx - App Shell
frontend/src/App.jsx - Upload & Report
frontend/src/upload.jsx
Analysis API
- Upload Analysis Route
backend/app.py - Uploaded Images
backend/static/uploads
Image Analysis
- Image Classification
backend/model/clip_utils.py - Caption Generation
backend/model/blip_caption.py - Object Detection
backend/model/object_detection.py - Anomaly Rules
backend/model/anomaly_detector.py
Geo Preview
- GeoTIFF Preview
frontend/src/GeoTIFFpreview.jsx
Other components
- Image Analyst
- OpenStreetMap Tiles
Connections 12
- Image Analyst → Upload & Report: selects image
- React Entry → App Shell: renders
- App Shell → Upload & Report: renders
- Upload & Report → GeoTIFF Preview: renders preview
- GeoTIFF Preview → OpenStreetMap Tiles: requests tiles
- Upload & Report → Upload Analysis Route: posts image
- Upload Analysis Route → Uploaded Images: saves image
- Upload Analysis Route → Image Classification: classifies image
- Upload Analysis Route → Caption Generation: generates caption
- Upload Analysis Route → Object Detection: detects objects
- Upload Analysis Route → Anomaly Rules: checks detections
- Upload Analysis Route → Upload & Report: returns report