How ramcharan469/casefile-missing-person works
CASEFILE is an academic simulation for analyzing synthetic missing-person movement data and presenting probabilistic location and route leads. The principal workflow generates or accepts a trajectory, preprocesses and enriches it, analyzes movement patterns and anomalies, predicts locations and routes, ranks search areas, explains scores, and renders results in a dashboard and map. The README documents additional stages whose source was not sampled; their links are shown only where the documented pipeline order supports them. The dashboard excerpt confirms its data reads and map call.
Main entry points: run_pipeline.py Pipeline Runner · app.py Streamlit Dashboard · trajectory_anomalies.csv Anomaly-Tagged Trajectory · clustering.py Movement Clustering
Components 22
Case Data
- Synthetic Data Generator
src/generate_synthetic_data.py - Fictional Case File
data/synthetic/synthetic_case_file.csv - Synthetic GPS Trajectory
data/synthetic/synthetic_gps_trajectory.csv
Movement Analysis
- Trajectory Preprocessing
src/preprocessing.py - Clean Trajectory
data/processed/trajectory_clean.csv - Feature Engineering
src/feature_engineering.py - Movement Features
data/processed/trajectory_features.csv - Movement Clustering
src/clustering.py - Clustered Trajectory
data/processed/trajectory_clustered.csv - Frequent Locations
data/processed/frequently_visited_locations.csv - Anomaly Detection
src/anomaly_detection.py - Anomaly-Tagged Trajectory
data/processed/trajectory_anomalies.csv
Location Inference
- Location Prediction
src/prediction.py - Route Prediction
src/route_prediction.py - Predicted Route
data/processed/predicted_route.csv - Search Priority Ranking
src/search_priority.py - Score Explanations
src/explainability.py
Results Presentation
- Investigation Map
src/mapping.py - Streamlit Dashboard
app/app.py - Interactive Map Artifact
reports/investigation_map.html
Pipeline Control
- Pipeline Runner
run_pipeline.py
Other components
- Analyst / Operator
Connections 32
- Analyst / Operator → Pipeline Runner: runs pipeline
- Analyst / Operator → Streamlit Dashboard: opens dashboard
- Pipeline Runner → Synthetic Data Generator: runs stage
- Pipeline Runner → Trajectory Preprocessing: runs stage
- Pipeline Runner → Feature Engineering: runs stage
- Pipeline Runner → Movement Clustering: runs stage
- Pipeline Runner → Anomaly Detection: runs stage
- Pipeline Runner → Location Prediction: runs stage
- Pipeline Runner → Route Prediction: runs stage
- Pipeline Runner → Search Priority Ranking: runs stage
- Pipeline Runner → Score Explanations: runs stage
- Pipeline Runner → Investigation Map: runs stage
- Synthetic Data Generator → Synthetic GPS Trajectory: writes trajectory
- Synthetic Data Generator → Fictional Case File: writes case
- Synthetic GPS Trajectory → Trajectory Preprocessing: supplies trajectory
- Trajectory Preprocessing → Clean Trajectory: writes cleaned data
- Clean Trajectory → Feature Engineering: supplies trajectory
- Feature Engineering → Movement Features: writes features
- Movement Features → Movement Clustering: supplies features
- Movement Clustering → Clustered Trajectory: writes labels
- Movement Clustering → Frequent Locations: writes locations
- Clustered Trajectory → Anomaly Detection: supplies clusters
- Anomaly Detection → Anomaly-Tagged Trajectory: writes anomaly flags
- Anomaly-Tagged Trajectory → Location Prediction: supplies features
- Anomaly-Tagged Trajectory → Route Prediction: supplies trajectory
- Route Prediction → Predicted Route: writes route
- Fictional Case File → Streamlit Dashboard: reads case details
- Anomaly-Tagged Trajectory → Streamlit Dashboard: reads analysis
- Frequent Locations → Streamlit Dashboard: reads locations
- Predicted Route → Streamlit Dashboard: reads route
- Streamlit Dashboard → Investigation Map: builds map
- Investigation Map → Interactive Map Artifact: saves map