Slide a learnable kernel across a synthetic diffraction pattern · explore feature maps · classify crystal systems in real time
1 · Input Image
2 · Convolution
3 · Activation (ReLU)
4 · Pooling
5 · Classification
Input Diffraction Pattern (64×64)
Simulated 2D powder diffractogram
Pixel intensity represents scattered X-ray or electron intensity at each angular position (2θ). Bright rings = Bragg reflections from crystal planes.
Kernel Editor (3×3) — click cells to cycle values
Click any cell to cycle: −1 → 0 → +1. The same 9 weights are slid across the entire image — weight sharing gives CNNs their efficiency.
0.0
Kernel Sum
1.0
L2 Norm
–
Center Pixel
Feature Map — After Convolution
Raw convolution output
Sliding kernel...
After ReLU + Pooling
ReLU → Max Pool output
–
Feature Map
–
Active %
–
Max Act.
8-Filter Bank — Layer 1 Feature Maps
A real CNN uses 32–128 filters per layer. Each learns a different pattern detector. Hover over a feature map to see its kernel below.
Classification Result (3-class Softmax)
Click 🔍 Classify Pattern to run a simulated CNN classifier on the current diffraction image.
Cubic–
Hexagonal–
Orthorhombic–
How it works: The final dense layer computes a weighted sum of the 128 global average pooling features and applies softmax. Higher noise → lower confidence in all classes.
Convolution Animation
Kernel position highlighted on input
Architecture Overview — 3-Block CNN
Input
64×64×1
→
Conv1
64×64×32
→
Pool1
32×32×32
→
Conv2
32×32×64
→
Pool2
16×16×64
→
Conv3
16×16×128
→
GAP
128
→
Dense
64
→
Output
3 classes
Total parameters: ~101,123 · Fully connected equivalent: >4M