The **Hyper-Object Challenge (Track 1)** provides multiple datasets split into training and testing partitions. The competition focuses on reconstructing hyperspectral cubes from mosaic inputs.

## Dataset Splits

- **Training Data (Available Now):**  
  - Contains paired inputs (mosaic images) and ground truth hyperspectral (HSI) cubes.  
     - `train/mosaic/` — linear single-channel mosaics (`.npy`)  
     - `train/hsi_61/` — 61-band reflectance cubes (`.h5`)  
  - Total: **167 training samples**.

- **Public Testing Data (Available by Aug 25):**  
  - Will be released with inputs only (mosaic images).  
  - Used for participants to test their models locally.

- **Private Testing Data:**  
  - Contains inputs (mosaic images).  
  - Ground truth will not be provided.  
  - Used for **Kaggle leaderboard scoring**.

- **Hidden Testing Data:**  
  - Reserved internally for final evaluation.  
  - Participants’ submitted inference code will be executed on this hidden dataset to determine the official final rankings.

> Final ranking uses the **hidden test** results. The public leaderboard reflects the private test only.
---

## Folder Layout (Track 1)
<pre style="font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, 'Liberation Mono', monospace; line-height: 1.35;">
2026-Hyper-Object-Data/
|-- train/
|   |-- mosaic/        # {id}.npy   (H,W[,1])   float32, linear
|   `-- hsi_61/        # {id}.h5    (H,W,61)    dataset "cube", float32 in [0,1]
|-- test_public/
|   |-- mosaic/        # {id}.npy
|   `-- hsi_61/        # {id}.h5    (H,W,61)    dataset "cube", float32 in [0,1]
`-- test_private/
    `-- mosaic/        # {id}.npy
</pre>


## What’s in the Train Set?

For each training sample `<id>`:

- **Mosaic**  
  - File: `train/mosaic/<id>.npy`  
  - Shape: `(H, W)` or `(H, W, 1)`  
  - Type/Range: `float32`, **linear** in **[0, 1]**  
  - Meaning: single-plane **Bayer-style** CFA sampling (default pattern **RGGB**) of a linear RGB image (see simulation below). No demosaic/white balance/gamma applied.

- **HSI (61-band)**  
  - File: `train/hsi_61/<id>.h5`  
  - Dataset: `cube` → shape `(H, W, 61)`, `float32`, reflectance in **[0, 1]**  
  - Wavelengths: **400–1000 nm** in **10 nm** steps (61 bands). If you store wavelengths, use dataset name `wavelengths` with shape `(61,)`.

---

## Training Data Details

### 1. Mosaic Data
To create a realistic **mosaic** measurement from the HSI ground truth:

1. **Render to linear RGB**  
   Convert reflectance R(&lambda;) to **linear sRGB (D65)** via CIE 1931 2° CMFs:
   - Compute X, Y, Z by integrating R(&lambda;)&middot;E<sub>D65</sub>(&lambda;) against the color‑matching functions (CMFs), unit‑normalized so a perfect diffuser yields Y = 1.
   - Convert **XYZ → linear sRGB** (D65) using the standard 3×3 matrix.  
   - **No gamma** (stay linear), **no white balance**, **no tone mapping**; **negative** values clipped to 0.

2. **Bayer mosaicing**  
   Apply the **RGGB** (default) **color filter array** to sample one color per pixel:
   - Even/odd rows/cols pick **R/G/B** as per the 2×2 tile pattern.
   - Output is a **single-channel** array — the **mosaic**.

3. **Normalization**  
   The mosaic is provided as **float32** in **[0, 1]**, representing **linear** intensity (RAW-like, pre-ISP). We do **not** apply camera demosaic, color correction, gamma, sharpening, or JPEG.

> This pipeline approximates a **camera-like optoelectronic front-end** while avoiding vendor-specific ISP steps. It makes the learning problem close to real mosaics: you must learn **demosaicing + spectral reconstruction** jointly or in stages.


### 2. Hyperspectral Ground Truth (HSI-61)
- Ground truth hyperspectral cubes have **61 spectral bands**, covering **400–1000 nm** with **10 nm interval**.  
- These are derived by **subsampling from the original 448-band HSI cube**.  
- **Radiometric calibration** is applied to correct for sensor response and illumination, ensuring physically meaningful reflectance values.  


## Summary

- **Task:** Learn a mapping from **Mosaic → HSI Cube (61 bands)**.  
- **Training set size:** 167 samples.  
- **Testing:** Combination of public, private, and hidden test sets ensures fair benchmarking.
- **HSI reflectance (`hsi_61`)**: `float32` in **[0,1]** per band.  
- **Mosaic**: `float32` in **[0,1]**, **linear** (no gamma), single channel.  
- **Wavelength grid** (61 bands): `400, 410, 420, …, 1000` (nm).

## Notes & Caveats
- The mosaic’s spectral sensitivities are approximated via the sRGB (D65) rendering followed by CFA sampling. This is not identical to any specific commercial sensor, but gives a camera-like linear RAW signal without proprietary ISP.
- Radiometric calibration uses band-wise white/dark references and central-ROI medians; it is robust to minor vignetting and edge artifacts.
- The 61-band target is a spectrally integrated version of the original 448-band data — not a simple slice — which preserves more faithful band energy.
- Handle variable image sizes gracefully; do not hardcode 1024×1024.