XGBoost V6 (Norsang) [xgboost_v6]
| Owner | Norsang Lama |
| Kind | Bayesian gate / lesion classifier |
| Version | v6 |
| Host | A6000-1 (192.168.1.155) |
| Path | /media/melanoscan/SND_1_Dot_55_8TB/melanoscan/models/xgboost_v6/ |
| Inputs | 12-dim spot feature vectors (RGB means, area/perim, 7 CNN class probs) |
| Outputs | P(MEL), P(BCC), P(benign) calibrated; feeds Bayesian melanoma gate |
| Training data | classed_clinical (MySQL 175) + segmented_spots โ ~17M spots, ~900 path-confirmed |
| Neo4j xref | (:Prediction {model_id:'xgboost_v6'}) โ (:Spot) ยท :ModelRun for training metadata |
| Role | Graph-RAG Bayesian gate (project_graph_rag_architecture) |
| Notes | Replaces V5 lookahead-only gate; V6 adds inflammatory_index feature from constellation neighbors. |
Lesion CNN (7-class) [cnn_lesion_v?]
| Owner | Norsang Lama |
| Kind | CNN classifier |
| Version | current deployed |
| Host | A6000-1, per-spot inference on 4060 8GB |
| Path | /media/melanoscan/SND_1_Dot_55_8TB/melanoscan/models/cnn_lesion/ |
| Inputs | Cropped spot tile (RGB) |
| Outputs | Softmax over [MEL, BCC, NV, BKL, DF, AKIEC, VASC] |
| Training data | ISIC + Audel curated path-linked tiles |
| Neo4j xref | (:Spot.cnn_class, .cnn_prob) โ also stored as :Prediction nodes for history |
| Role | Upstream of XGBoost V6 (provides 7 of the 12 features). |
| Notes | Pathology overrides CNN per ontology axiom A1. |
Dermatoscan App (Kotlin) [dermatoscan_app]
| Owner | Ivo |
| Kind | Android client app โ booth-tablet capture & MIPS frontend |
| Version | current |
| Host | Booth tablet (Android) |
| Path | (Ivo's repo) |
| Inputs | Patient MRN, booth scan trigger, freehand annotations, externals upload |
| Outputs | POST /api/auth/mobile (Google ID token) โ bearer; POST /api/note/upload, /api/visit/exam-data, etc. |
| Training data | n/a (client app) |
| Neo4j xref | Calls DermSpX Flask server; ExamData and Annotation nodes land via mobile API |
| Role | Capture-side of clinical workflow (project_clinical_workflow). Pairs with DermSpX server-side browser. |
| Notes | Auth via Android OAuth client (PKCE) + workspace-restricted Google sign-in (hd=drdrugge.com). Bearer tokens on Authorization header for all subsequent API calls. |
HeightNet v4b [heightnet_v4b]
| Owner | Drugge lab |
| Kind | Photogrammetric height regressor |
| Version | v4b |
| Host | A6000-1 (training), per-spot 4060 (inference) |
| Path | see reference_models_and_scripts.md |
| Inputs | Calibrated booth tile + camera ID |
| Outputs | Z-height (mm) above platinum grid |
| Training data | T12 wire-mesh calibration + manual landmarks |
| Neo4j xref | (:HeightMeasurement) per spot per session |
| Role | Metrology pipeline; not a clinical classifier. |
| Notes | Uses 74mm regular wire spacing per project_hwire_calibration_error. |
Provenance hooks (Neo4j)
Predictions and training runs should land as nodes so the ontology covers them:
(:Model {model_id, name, version, owner, host, path})
-[:PRODUCED]-> (:Prediction {spot_id, p_mel, p_bcc, generated_at})
-[:TRAINED_BY]-> (:ModelRun {run_id, started_at, finished_at, dataset_sha, metrics_json})
(:Prediction)-[:ABOUT]->(:Spot)
(:Prediction)-[:JUSTIFIED_BY]->(:Pathology) // for path-confirmed cases (axiom A1)
Adding these closes Axiom A8 (Audit Closure) over model outputs โ every prediction traces to a model version, dataset hash, and (when available) ground-truth pathology.