MSI_Julia_CNN/documentation.md

5.3 KiB

Technical Documentation & Experimental Rationale

This document provides a detailed technical overview of the computational choices, hyperparameter tuning, and validation strategies implemented in the hybrid Julia-Python MSI workflow.

Docker Maintenance & Disk Space

If you encounter disk space issues due to failed builds or unused images, use these commands:

  • Safe Clean (Dangling layers only): docker image prune
  • Deep Clean (Everything unused): docker system prune -a --volumes
  • Clear Build Cache: docker builder prune

1. Hyperparameter Tuning Rationale (SimCLR)

The training configuration in scripts_python/CNN_proof_1.py follows the standard SimCLR framework (Chen et al., 2020) while being optimized for the morphological characteristics of Mass Spectrometry Imaging (MSI) data.

Hyperparameter Value Rationale
Temperature (\tau) 0.5 Selected via grid search. We tested \tau \in \{0.1, 0.5, 1.0\}. A value of 0.1 led to unstable gradients and collapsed representations, while 1.0 was too permissive. \tau=0.5 provided the most stable convergence and distinct cluster boundaries.
Projection Dim 128 Standard for SimCLR. Reducing to 64 lost anatomical detail; increasing to 256 did not improve Silhouette scores but increased computational overhead.
Training Epochs 50 Observed convergence of NT-Xent loss between epochs 40-50. Further training (tested up to 200 epochs) led to minor overfitting to instrumental artifacts.
Batch Size 32 Optimized for the i5 CPU environment to balance memory usage and gradient stability.

2. Advanced Validation Strategies

To satisfy rigorous peer review, we implemented three quantitative validation layers in scripts_python/quantitative_validation.py:

2.1 Baseline Comparison (PCA vs. SimCLR)

  • Method: We compared our self-supervised approach against a traditional baseline where PCA is applied directly to raw pixel vectors (flattened ion images).
  • Result: SimCLR consistently yields higher Silhouette scores and lower Davies-Bouldin indices. This proves that the neural network's non-linear feature extraction captures anatomical "shapes" better than linear variance-based methods.

2.2 Stability & Reproducibility Analysis

  • Metric: Adjusted Rand Index (ARI).
  • Method: We ran the clustering pipeline across 10 different random seeds. By computing the ARI between all pairs of runs, we demonstrate that the metabolic domains identified (Clusters 0-9) are stable and not artifacts of k-means initialization.

2.3 Isotope Co-localization (Natural Ground Truth)

  • Scientific Anchor: Isotopes ([M+H]^+ and [M+H+1]^+) must co-localize perfectly in tissue.
  • Validation: We measure the Euclidean distance of isotopic pairs in the latent manifold. A t-test confirms that these distances are significantly smaller than those of random ion pairs, providing objective evidence that the model has learned chemical-biological reality.

3. Biological & Mathematical Rationale for k=10

While mathematical metrics (Elbow method, Silhouette) often suggest k=2 or k=3 (tissue vs. background), we selected $k=10$ based on:

  1. Anatomical Fidelity: This threshold is required to resolve the hierarchy between the primary midrib, secondary veins, and apical accumulation zones.
  2. Stability: Metric stabilization was observed in the k=8 to k=12 range.
  3. Metabolic Heatmaps: Average ion intensities per cluster for scopolamine (m/z 304.1) and atropine (m/z 290.1) show clear sequestration in Clusters 9 (Vascular) and 7 (Apical), validating the biological relevance of the segmentation.

4. Technical Specifications & Citations

4.1 Data Augmentations

We implemented Additive Gaussian Noise (\sigma=0.01). This is critical for MSI to simulate detector background noise.

  • Citation: DeepION (2024) and Hu et al. (2022, Table S1).

4.2 Model Backbone

EfficientNet-B0 with ImageNet weights was used for transfer learning. The MBConv blocks are highly efficient for CPU-based inference.

  • Citation: Tan & Le (2019).

4.3 Preprocessing (JuliaMSI)

  • Spectral Averaging: Done via MSI_src.get_average_spectrum.
  • Tolerance: \pm 0.05 Da window for mass slices. This is standard for low-resolution Ion Trap instruments (LCQ Fleet) to ensure all isotopic signal is captured.
  • Citation: Sierra-Álvarez et al. (2025).

4.4 Dimensionality Reduction

PCA was used to reduce the 1280-dim (EfficientNet) or 128-dim (Projector) features to 50 components before k-means. This heuristic stabilizes clustering by removing noise and redundant dimensions.

  • Citation: Jolliffe (2002).

Benchmarking & Hardware Realism

The pipeline is optimized for efficiency on consumer-grade hardware.

  • Julia Stage: Uses BenchmarkTools.jl to profile binary parsing.
  • Python Stage: Uses psutil and CUDA monitoring to track hardware overhead.
  • Determinism: All stochastic steps are locked with seed=42.

Julia-Python Bridge Details

The "two-language problem" is solved by an intermediate file-system bridge. Julia performs binary MSI parsing and Threshold Intensity Quantization (TrIQ). The resulting data is saved as high-contrast 224x224 grayscale PNG images, allowing the Python PyTorch pipeline to consume it efficiently.