# muhammad-zainal-muttaqin/research-pipeline architecture

> Architecture diagram of the GitHub repository muhammad-zainal-muttaqin/research-pipeline, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/muhammad-zainal-muttaqin/research-pipeline
- Repository: https://github.com/muhammad-zainal-muttaqin/research-pipeline

## Overview

Research-Pipeline combines a Scopus literature-review workflow, computer-vision experiments, and a documented four-channel RGB-depth deployment pipeline. Researchers use the literature tools to build and audit review evidence, and use experiment training and evaluation scripts to test detection approaches; the README identifies RF-DETR-L on E-021 as the citeable four-class result. The production pipeline prepares depth, trains a shared RGB/RGB-depth model, and runs inference. Evidence is limited to the README, tree, and sampled excerpts; unsampled subsystems are represented only at the documented directory level.

Main entry points: [`tools`](https://github.com/muhammad-zainal-muttaqin/research-pipeline/tree/main/tools) (Review tooling), [`experiments/code/train`](https://github.com/muhammad-zainal-muttaqin/research-pipeline/tree/main/experiments/code/train) (Model training), [`pipeline/fourch.py`](https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/pipeline/fourch.py) (Four-channel core), [`experiments/code/train/train_fusion_2branch.py`](https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/experiments/code/train/train_fusion_2branch.py) (Two-branch fusion)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_literature["Literature review"]
  node_review_tools["Review tooling"]
  node_scopus_tools["Scopus workflow"]
  node_evidence_tools["Evidence synthesis"]
  node_screening_tools["Screening tools"]
end

subgraph group_experiments["Detection experiments"]
  node_training["Model training"]
  node_rfdetr_baseline["RF-DETR baseline<br/>[train_rfdetr.py]"]
  node_rfdetr_variants["RF-DETR variants"]
  node_fusion_training["Two-branch fusion"]
  node_evaluation["COCO evaluation<br/>[eval_all_pycoco.py]"]
  node_paired_eval["Paired E-022 evaluation"]
  node_extra_eval["Metric diagnostics<br/>[eval_extras.py]"]
end

subgraph group_analysis["Research analysis"]
  node_analysis["Experiment analysis"]
end

subgraph group_production["Depth deployment"]
  node_depth_prep["Depth preparation<br/>[prepare_depth.py]"]
  node_fourch_core["Four-channel core<br/>[fourch.py]"]
  node_fourch_train["RGB-depth training<br/>[train_4ch.py]"]
  node_fourch_infer["Field inference<br/>[infer_4ch.py]"]
end

node_researcher(("Researcher"))

node_researcher -->|"builds review"| node_review_tools
node_review_tools -->|"uses corpus tools"| node_scopus_tools
node_review_tools -->|"screens literature"| node_screening_tools
node_review_tools -->|"synthesizes evidence"| node_evidence_tools
node_researcher -->|"runs experiments"| node_training
node_training -->|"includes baseline"| node_rfdetr_baseline
node_training -->|"includes variants"| node_rfdetr_variants
node_training -->|"includes fusion"| node_fusion_training
node_evaluation -->|"provides metrics"| node_extra_eval
node_paired_eval -->|"imports evaluator"| node_evaluation
node_paired_eval -->|"loads fusion classes"| node_fusion_training
node_fusion_training -->|"imports core"| node_fourch_core
node_researcher -->|"prepares sensor data"| node_depth_prep
node_depth_prep -->|"encodes depth"| node_fourch_core
node_researcher -->|"trains deployment model"| node_fourch_train
node_fourch_train -->|"configures training"| node_fourch_core
node_researcher -->|"runs field inference"| node_fourch_infer
node_fourch_infer -->|"predicts detections"| node_fourch_core

click node_review_tools "https://github.com/muhammad-zainal-muttaqin/research-pipeline/tree/main/tools"
click node_scopus_tools "https://github.com/muhammad-zainal-muttaqin/research-pipeline/tree/main/tools/scopus"
click node_evidence_tools "https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/tools/build_evidence_matrix.py"
click node_screening_tools "https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/tools/build_literature_screening_master.py"
click node_training "https://github.com/muhammad-zainal-muttaqin/research-pipeline/tree/main/experiments/code/train"
click node_rfdetr_baseline "https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/experiments/code/train/train_rfdetr.py"
click node_rfdetr_variants "https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/experiments/code/train/train_rfdetr_freq.py"
click node_fusion_training "https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/experiments/code/train/train_fusion_2branch.py"
click node_evaluation "https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/experiments/code/eval/eval_all_pycoco.py"
click node_paired_eval "https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/experiments/code/eval/eval_e022_paired.py"
click node_extra_eval "https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/experiments/code/eval/eval_extras.py"
click node_analysis "https://github.com/muhammad-zainal-muttaqin/research-pipeline/tree/main/experiments/code/analysis"
click node_depth_prep "https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/pipeline/prepare_depth.py"
click node_fourch_core "https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/pipeline/fourch.py"
click node_fourch_train "https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/pipeline/train_4ch.py"
click node_fourch_infer "https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/pipeline/infer_4ch.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_review_tools,node_scopus_tools,node_evidence_tools,node_screening_tools toneBlue
class node_training,node_rfdetr_baseline,node_rfdetr_variants,node_fusion_training,node_evaluation,node_paired_eval,node_extra_eval toneAmber
class node_analysis toneMint
class node_depth_prep,node_fourch_core,node_fourch_train,node_fourch_infer toneRose
class node_researcher toneIndigo
```

## Components

### Literature review

- [Review tooling](https://github.com/muhammad-zainal-muttaqin/research-pipeline/tree/main/tools): `tools`
- [Scopus workflow](https://github.com/muhammad-zainal-muttaqin/research-pipeline/tree/main/tools/scopus): `tools/scopus`
- [Evidence synthesis](https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/tools/build_evidence_matrix.py): `tools/build_evidence_matrix.py`
- [Screening tools](https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/tools/build_literature_screening_master.py): `tools/build_literature_screening_master.py`

### Detection experiments

- [Model training](https://github.com/muhammad-zainal-muttaqin/research-pipeline/tree/main/experiments/code/train): `experiments/code/train`
- [RF-DETR baseline](https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/experiments/code/train/train_rfdetr.py): `experiments/code/train/train_rfdetr.py`
- [RF-DETR variants](https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/experiments/code/train/train_rfdetr_freq.py): `experiments/code/train/train_rfdetr_freq.py`
- [Two-branch fusion](https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/experiments/code/train/train_fusion_2branch.py): `experiments/code/train/train_fusion_2branch.py`
- [COCO evaluation](https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/experiments/code/eval/eval_all_pycoco.py): `experiments/code/eval/eval_all_pycoco.py`
- [Paired E-022 evaluation](https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/experiments/code/eval/eval_e022_paired.py): `experiments/code/eval/eval_e022_paired.py`
- [Metric diagnostics](https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/experiments/code/eval/eval_extras.py): `experiments/code/eval/eval_extras.py`

### Research analysis

- [Experiment analysis](https://github.com/muhammad-zainal-muttaqin/research-pipeline/tree/main/experiments/code/analysis): `experiments/code/analysis`

### Depth deployment

- [Depth preparation](https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/pipeline/prepare_depth.py): `pipeline/prepare_depth.py`
- [Four-channel core](https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/pipeline/fourch.py): `pipeline/fourch.py`
- [RGB-depth training](https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/pipeline/train_4ch.py): `pipeline/train_4ch.py`
- [Field inference](https://github.com/muhammad-zainal-muttaqin/research-pipeline/blob/main/pipeline/infer_4ch.py): `pipeline/infer_4ch.py`

### Other components

- **Researcher**

## Connections

- Researcher → Review tooling: builds review (evidence: `README.md`)
- Review tooling → Scopus workflow: uses corpus tools (evidence: `README.md`)
- Review tooling → Screening tools: screens literature (evidence: `README.md`)
- Review tooling → Evidence synthesis: synthesizes evidence (evidence: `README.md`)
- Researcher → Model training: runs experiments (evidence: `README.md`)
- Model training → RF-DETR baseline: includes baseline (evidence: `experiments/code/train/train_rfdetr.py`)
- Model training → RF-DETR variants: includes variants (evidence: `experiments/code/train/train_rfdetr_freq.py`)
- Model training → Two-branch fusion: includes fusion (evidence: `experiments/code/train/train_fusion_2branch.py`)
- COCO evaluation → Metric diagnostics: provides metrics (evidence: `experiments/code/eval/eval_extras.py`)
- Paired E-022 evaluation → COCO evaluation: imports evaluator (evidence: `experiments/code/eval/eval_e022_paired.py`)
- Paired E-022 evaluation → Two-branch fusion: loads fusion classes (evidence: `experiments/code/eval/eval_e022_paired.py`)
- Two-branch fusion → Four-channel core: imports core (evidence: `experiments/code/train/train_fusion_2branch.py`)
- Researcher → Depth preparation: prepares sensor data (evidence: `README.md`)
- Depth preparation → Four-channel core: encodes depth (evidence: `pipeline/prepare_depth.py`)
- Researcher → RGB-depth training: trains deployment model (evidence: `README.md`)
- RGB-depth training → Four-channel core: configures training (evidence: `pipeline/train_4ch.py`)
- Researcher → Field inference: runs field inference (evidence: `README.md`)
- Field inference → Four-channel core: predicts detections (evidence: `pipeline/infer_4ch.py`)
