# akshaydudhane16/bipnet architecture

> Architecture diagram of the GitHub repository akshaydudhane16/bipnet, 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/akshaydudhane16/bipnet
- Repository: https://github.com/akshaydudhane16/bipnet

## Overview

This repository implements BIPNet burst-image restoration, with separate denoising and super-resolution code paths. The user-facing workflow is to provide a burst and task-appropriate metadata or dataset; the model restores an image, which can then be postprocessed and evaluated. Super-resolution also supports real BurstSR data and synthetic-burst generation; the README describes denoising, super-resolution, and low-light enhancement as target tasks. Some subsystem links are documented only by the source index, so unsampled internal call paths are omitted rather than inferred.

Main entry points: [`Burst_Super_Resolution/BIPNet_Track_2_training.py`](https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/BIPNet_Track_2_training.py) (Track Training), [`Burst De-noising/Color_denoising_testing.py`](https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/Color_denoising_testing.py) (Color Testing), [`Burst De-noising/Grayscale_denoising_testing.py`](https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/Grayscale_denoising_testing.py) (Grayscale Testing), [`Burst De-noising/data/postprocessing_functions.py`](https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/data/postprocessing_functions.py) (Denoising Postprocess)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_denoise["Burst Denoising"]
  node_color_test["Color Testing"]
  node_gray_test["Grayscale Testing"]
  node_denoise_model["Denoising BIPNet<br/>[Network.py]"]
  node_color_data["Color Test Data"]
  node_gray_data["Grayscale Test Data"]
  node_denoise_camera["Denoising Camera Pipeline<br/>[camera_pipeline.py]"]
  node_denoise_post["Denoising Postprocess"]
  node_denoise_metrics["Denoising Metrics<br/>[metrics.py]"]
end

subgraph group_sr["Burst Super-Resolution"]
  node_sr_train["Track Training"]
  node_track1_train["Track 1 Training"]
  node_sr_eval["Track Evaluation"]
  node_track1_eval["Track 1 Evaluation"]
  node_sr_model["Super-Resolution BIPNet<br/>[Network.py]"]
end

subgraph group_data["Data Preparation"]
  node_burstsr_data["Real BurstSR Data<br/>[burstsr_dataset.py]"]
  node_synthetic_train["Synthetic Train Data"]
  node_synthetic_val["Synthetic Validation Data"]
  node_zurich_data["Zurich RAW Data"]
  node_synthetic_gen["Burst Synthesis"]
  node_sr_camera["SR Camera Pipeline<br/>[camera_pipeline.py]"]
end

subgraph group_shared["Restoration Utilities"]
  node_sr_post["SR Postprocess"]
  node_sr_metrics["SR Metrics And Alignment<br/>[metrics.py]"]
  node_spatial_align["Spatial Color Alignment"]
  node_warp["Image Warping<br/>[warp.py]"]
  node_format_utils["Image Format Utilities"]
end

node_user(("Researcher"))

node_user -->|"runs"| node_color_test
node_user -->|"runs"| node_gray_test
node_color_test -->|"loads"| node_color_data
node_color_test -->|"runs"| node_denoise_model
node_color_test -->|"postprocesses"| node_denoise_post
node_color_test -->|"evaluates"| node_denoise_metrics
node_gray_test -->|"loads"| node_gray_data
node_gray_test -->|"runs"| node_denoise_model
node_gray_test -->|"postprocesses"| node_denoise_post
node_gray_test -->|"evaluates"| node_denoise_metrics
node_user -->|"trains"| node_sr_train
node_user -->|"evaluates"| node_sr_eval
node_sr_train -->|"trains"| node_sr_model
node_sr_train -->|"loads"| node_burstsr_data
node_sr_train -->|"uses"| node_sr_post
node_sr_train -->|"measures"| node_sr_metrics
node_sr_train -->|"uses"| node_warp
node_sr_train -->|"uses"| node_sr_camera
node_track1_train -->|"trains"| node_sr_model
node_track1_train -->|"loads"| node_synthetic_train
node_track1_train -->|"loads"| node_zurich_data
node_sr_eval -->|"loads"| node_burstsr_data
node_sr_eval -->|"postprocesses"| node_sr_post
node_track1_eval -->|"loads"| node_synthetic_val
node_track1_eval -->|"evaluates"| node_sr_model
node_synthetic_train -->|"generates"| node_synthetic_gen
node_synthetic_gen -->|"processes"| node_sr_camera
node_sr_post -->|"uses"| node_sr_camera
node_sr_post -->|"converts"| node_format_utils
node_sr_metrics -->|"aligns"| node_spatial_align
node_sr_metrics -->|"warps"| node_warp
node_denoise_post -->|"uses"| node_denoise_camera
node_denoise_post -->|"converts"| node_format_utils

click node_color_test "https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/Color_denoising_testing.py"
click node_gray_test "https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/Grayscale_denoising_testing.py"
click node_denoise_model "https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/Network.py"
click node_color_data "https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/dataset/color_denoise_test_set.py"
click node_gray_data "https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/dataset/grayscale_denoise_test_set.py"
click node_denoise_camera "https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/data/camera_pipeline.py"
click node_denoise_post "https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/data/postprocessing_functions.py"
click node_denoise_metrics "https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/utils/metrics.py"
click node_sr_train "https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/BIPNet_Track_2_training.py"
click node_track1_train "https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/BIPNet_Track_1_training.py"
click node_sr_eval "https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/Track_2_evaluation.py"
click node_track1_eval "https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/Track_1_evaluation.py"
click node_sr_model "https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/Network.py"
click node_burstsr_data "https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/datasets/burstsr_dataset.py"
click node_synthetic_train "https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/datasets/synthetic_burst_train_set.py"
click node_synthetic_val "https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/datasets/synthetic_burst_val_set.py"
click node_zurich_data "https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/datasets/zurich_raw2rgb_dataset.py"
click node_synthetic_gen "https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/data_processing/synthetic_burst_generation.py"
click node_sr_camera "https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/data_processing/camera_pipeline.py"
click node_sr_post "https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/utils/postprocessing_functions.py"
click node_sr_metrics "https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/utils/metrics.py"
click node_spatial_align "https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/utils/spatial_color_alignment.py"
click node_warp "https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/utils/warp.py"
click node_format_utils "https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/utils/data_format_utils.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_color_test,node_gray_test,node_denoise_model,node_color_data,node_gray_data,node_denoise_camera,node_denoise_post,node_denoise_metrics toneBlue
class node_sr_train,node_track1_train,node_sr_eval,node_track1_eval,node_sr_model toneAmber
class node_burstsr_data,node_synthetic_train,node_synthetic_val,node_zurich_data,node_synthetic_gen,node_sr_camera toneMint
class node_sr_post,node_sr_metrics,node_spatial_align,node_warp,node_format_utils toneRose
class node_user toneIndigo
```

## Components

### Burst Denoising

- [Color Testing](https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/Color_denoising_testing.py): `Burst De-noising/Color_denoising_testing.py`
- [Grayscale Testing](https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/Grayscale_denoising_testing.py): `Burst De-noising/Grayscale_denoising_testing.py`
- [Denoising BIPNet](https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/Network.py): `Burst De-noising/Network.py`
- [Color Test Data](https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/dataset/color_denoise_test_set.py): `Burst De-noising/dataset/color_denoise_test_set.py`
- [Grayscale Test Data](https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/dataset/grayscale_denoise_test_set.py): `Burst De-noising/dataset/grayscale_denoise_test_set.py`
- [Denoising Camera Pipeline](https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/data/camera_pipeline.py): `Burst De-noising/data/camera_pipeline.py`
- [Denoising Postprocess](https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/data/postprocessing_functions.py): `Burst De-noising/data/postprocessing_functions.py`
- [Denoising Metrics](https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/utils/metrics.py): `Burst De-noising/utils/metrics.py`

### Burst Super-Resolution

- [Track Training](https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/BIPNet_Track_2_training.py): `Burst_Super_Resolution/BIPNet_Track_2_training.py`
- [Track 1 Training](https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/BIPNet_Track_1_training.py): `Burst_Super_Resolution/BIPNet_Track_1_training.py`
- [Track Evaluation](https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/Track_2_evaluation.py): `Burst_Super_Resolution/Track_2_evaluation.py`
- [Track 1 Evaluation](https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/Track_1_evaluation.py): `Burst_Super_Resolution/Track_1_evaluation.py`
- [Super-Resolution BIPNet](https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/Network.py): `Burst_Super_Resolution/Network.py`

### Data Preparation

- [Real BurstSR Data](https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/datasets/burstsr_dataset.py): `Burst_Super_Resolution/datasets/burstsr_dataset.py`
- [Synthetic Train Data](https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/datasets/synthetic_burst_train_set.py): `Burst_Super_Resolution/datasets/synthetic_burst_train_set.py`
- [Synthetic Validation Data](https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/datasets/synthetic_burst_val_set.py): `Burst_Super_Resolution/datasets/synthetic_burst_val_set.py`
- [Zurich RAW Data](https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/datasets/zurich_raw2rgb_dataset.py): `Burst_Super_Resolution/datasets/zurich_raw2rgb_dataset.py`
- [Burst Synthesis](https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/data_processing/synthetic_burst_generation.py): `Burst_Super_Resolution/data_processing/synthetic_burst_generation.py`
- [SR Camera Pipeline](https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/data_processing/camera_pipeline.py): `Burst_Super_Resolution/data_processing/camera_pipeline.py`

### Restoration Utilities

- [SR Postprocess](https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/utils/postprocessing_functions.py): `Burst_Super_Resolution/utils/postprocessing_functions.py`
- [SR Metrics And Alignment](https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/utils/metrics.py): `Burst_Super_Resolution/utils/metrics.py`
- [Spatial Color Alignment](https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/utils/spatial_color_alignment.py): `Burst_Super_Resolution/utils/spatial_color_alignment.py`
- [Image Warping](https://github.com/akshaydudhane16/bipnet/blob/main/Burst_Super_Resolution/utils/warp.py): `Burst_Super_Resolution/utils/warp.py`
- [Image Format Utilities](https://github.com/akshaydudhane16/bipnet/blob/main/Burst%20De-noising/utils/data_format_utils.py): `Burst De-noising/utils/data_format_utils.py`

### Other components

- **Researcher**

## Connections

- Researcher → Color Testing: runs (evidence: `README.md`)
- Researcher → Grayscale Testing: runs (evidence: `README.md`)
- Color Testing → Color Test Data: loads (evidence: `Burst De-noising/Color_denoising_testing.py`)
- Color Testing → Denoising BIPNet: runs (evidence: `Burst De-noising/Color_denoising_testing.py`)
- Color Testing → Denoising Postprocess: postprocesses (evidence: `Burst De-noising/Color_denoising_testing.py`)
- Color Testing → Denoising Metrics: evaluates (evidence: `Burst De-noising/Color_denoising_testing.py`)
- Grayscale Testing → Grayscale Test Data: loads (evidence: `Burst De-noising/Grayscale_denoising_testing.py`)
- Grayscale Testing → Denoising BIPNet: runs (evidence: `Burst De-noising/Grayscale_denoising_testing.py`)
- Grayscale Testing → Denoising Postprocess: postprocesses (evidence: `Burst De-noising/Grayscale_denoising_testing.py`)
- Grayscale Testing → Denoising Metrics: evaluates (evidence: `Burst De-noising/Grayscale_denoising_testing.py`)
- Researcher → Track Training: trains (evidence: `README.md`)
- Researcher → Track Evaluation: evaluates (evidence: `README.md`)
- Track Training → Super-Resolution BIPNet: trains (evidence: `Burst_Super_Resolution/BIPNet_Track_2_training.py`)
- Track Training → Real BurstSR Data: loads (evidence: `Burst_Super_Resolution/BIPNet_Track_2_training.py`)
- Track Training → SR Postprocess: uses (evidence: `Burst_Super_Resolution/BIPNet_Track_2_training.py`)
- Track Training → SR Metrics And Alignment: measures (evidence: `Burst_Super_Resolution/BIPNet_Track_2_training.py`)
- Track Training → Image Warping: uses (evidence: `Burst_Super_Resolution/BIPNet_Track_2_training.py`)
- Track Training → SR Camera Pipeline: uses (evidence: `Burst_Super_Resolution/BIPNet_Track_2_training.py`)
- Track 1 Training → Super-Resolution BIPNet: trains (evidence: `Burst_Super_Resolution/BIPNet_Track_1_training.py`)
- Track 1 Training → Synthetic Train Data: loads (evidence: `Burst_Super_Resolution/BIPNet_Track_1_training.py`)
- Track 1 Training → Zurich RAW Data: loads (evidence: `Burst_Super_Resolution/BIPNet_Track_1_training.py`)
- Track Evaluation → Real BurstSR Data: loads (evidence: `Burst_Super_Resolution/Track_2_evaluation.py`)
- Track Evaluation → SR Postprocess: postprocesses (evidence: `Burst_Super_Resolution/Track_2_evaluation.py`)
- Track 1 Evaluation → Synthetic Validation Data: loads (evidence: `Burst_Super_Resolution/Track_1_evaluation.py`)
- Track 1 Evaluation → Super-Resolution BIPNet: evaluates (evidence: `Burst_Super_Resolution/Track_1_evaluation.py`)
- Synthetic Train Data → Burst Synthesis: generates (evidence: `Burst_Super_Resolution/datasets/synthetic_burst_train_set.py`)
- Burst Synthesis → SR Camera Pipeline: processes (evidence: `Burst_Super_Resolution/data_processing/synthetic_burst_generation.py`)
- SR Postprocess → SR Camera Pipeline: uses (evidence: `Burst_Super_Resolution/utils/postprocessing_functions.py`)
- SR Postprocess → Image Format Utilities: converts (evidence: `Burst_Super_Resolution/utils/postprocessing_functions.py`)
- SR Metrics And Alignment → Spatial Color Alignment: aligns (evidence: `Burst_Super_Resolution/utils/metrics.py`)
- SR Metrics And Alignment → Image Warping: warps (evidence: `Burst_Super_Resolution/utils/metrics.py`)
- Denoising Postprocess → Denoising Camera Pipeline: uses (evidence: `Burst De-noising/data/postprocessing_functions.py`)
- Denoising Postprocess → Image Format Utilities: converts (evidence: `Burst De-noising/data/postprocessing_functions.py`)
