Chasing the DC Spectrum: Three Papers on Denoising Digital Holographic Microscopy
Digital Holographic Microscopy (DHM) reconstructs a 3D profile of a microscopic object — red blood cells, in most of what follows — from nothing but the phase information in an interference pattern. No staining, no physical scanning, just the coherence of light. The catch is a trade-off baked into the reconstruction process itself, and the three papers below (all with Prof. Min-Chul Lee’s group at Kyutech, all with me somewhere in the author list) are three different attempts at chipping away at the same trade-off.
The optical setup
DHM starts from a physical optical setup before any of the Fourier-domain processing happens, so it’s worth seeing that first. This is the same modified Mach-Zehnder interferometer behind every number in this post, across all three papers — drawn with Plotly instead of a boxes-and-arrows flowchart, so you can actually scroll-zoom into the beam splitters and mirrors instead of squinting at a static diagram:
{
"data": [],
"layout": {
"title": { "text": "Modified Mach-Zehnder Interferometer — DHM Optical Setup" },
"xaxis": { "visible": false, "range": [0, 800] },
"yaxis": { "visible": false, "range": [40, 300], "scaleanchor": "x", "scaleratio": 1 },
"autosize": true,
"height": 480,
"margin": { "l": 20, "r": 20, "t": 60, "b": 20 },
"showlegend": false,
"shapes": [
{ "type": "rect", "x0": 20, "y0": 85, "x1": 110, "y1": 115, "fillcolor": "rgba(251,140,0,0.15)", "line": { "color": "#fb8c00", "width": 2 } },
{ "type": "rect", "x0": 235, "y0": 85, "x1": 265, "y1": 115, "fillcolor": "rgba(3,169,244,0.15)", "line": { "color": "#03a9f4", "width": 2 } },
{ "type": "line", "x0": 235, "y0": 85, "x1": 265, "y1": 115, "line": { "color": "#03a9f4", "width": 2 } },
{ "type": "line", "x0": 235, "y0": 235, "x1": 265, "y1": 265, "line": { "color": "#757575", "width": 4 } },
{ "type": "line", "x0": 635, "y0": 85, "x1": 665, "y1": 115, "line": { "color": "#757575", "width": 4 } },
{ "type": "rect", "x0": 635, "y0": 235, "x1": 665, "y1": 265, "fillcolor": "rgba(3,169,244,0.15)", "line": { "color": "#03a9f4", "width": 2 } },
{ "type": "line", "x0": 635, "y0": 235, "x1": 665, "y1": 265, "line": { "color": "#03a9f4", "width": 2 } },
{ "type": "rect", "x0": 386, "y0": 70, "x1": 394, "y1": 130, "fillcolor": "rgba(3,169,244,0.15)", "line": { "color": "#03a9f4", "width": 2 } },
{ "type": "circle", "x0": 384, "y0": 94, "x1": 396, "y1": 106, "fillcolor": "rgba(230,74,25,0.3)", "line": { "color": "#e64a19", "width": 1.5 } },
{ "type": "circle", "x0": 485, "y0": 80, "x1": 505, "y1": 120, "fillcolor": "rgba(3,169,244,0.1)", "line": { "color": "#03a9f4", "width": 2 } },
{ "type": "rect", "x0": 710, "y0": 235, "x1": 760, "y1": 265, "fillcolor": "rgba(46,125,50,0.15)", "line": { "color": "#2e7d32", "width": 2 } },
{ "type": "line", "x0": 110, "y0": 100, "x1": 235, "y1": 100, "line": { "color": "#616161", "width": 2 } },
{ "type": "line", "x0": 265, "y0": 100, "x1": 386, "y1": 100, "line": { "color": "#616161", "width": 2 } },
{ "type": "line", "x0": 394, "y0": 100, "x1": 485, "y1": 100, "line": { "color": "#616161", "width": 2 } },
{ "type": "line", "x0": 505, "y0": 100, "x1": 635, "y1": 100, "line": { "color": "#616161", "width": 2 } },
{ "type": "line", "x0": 650, "y0": 115, "x1": 650, "y1": 235, "line": { "color": "#616161", "width": 2 } },
{ "type": "line", "x0": 250, "y0": 115, "x1": 250, "y1": 235, "line": { "color": "#616161", "width": 2, "dash": "dash" } },
{ "type": "line", "x0": 265, "y0": 250, "x1": 635, "y1": 250, "line": { "color": "#616161", "width": 2, "dash": "dash" } },
{ "type": "line", "x0": 665, "y0": 250, "x1": 710, "y1": 250, "line": { "color": "#616161", "width": 2 } }
],
"annotations": [
{ "x": 200, "y": 100, "ax": 140, "ay": 100, "axref": "x", "ayref": "y", "showarrow": true, "arrowhead": 3, "arrowsize": 1, "arrowwidth": 1.5, "arrowcolor": "#9e9e9e", "text": "" },
{ "x": 330, "y": 100, "ax": 280, "ay": 100, "axref": "x", "ayref": "y", "showarrow": true, "arrowhead": 3, "arrowsize": 1, "arrowwidth": 1.5, "arrowcolor": "#9e9e9e", "text": "" },
{ "x": 600, "y": 100, "ax": 540, "ay": 100, "axref": "x", "ayref": "y", "showarrow": true, "arrowhead": 3, "arrowsize": 1, "arrowwidth": 1.5, "arrowcolor": "#9e9e9e", "text": "" },
{ "x": 250, "y": 200, "ax": 250, "ay": 150, "axref": "x", "ayref": "y", "showarrow": true, "arrowhead": 3, "arrowsize": 1, "arrowwidth": 1.5, "arrowcolor": "#9e9e9e", "text": "" },
{ "x": 550, "y": 250, "ax": 300, "ay": 250, "axref": "x", "ayref": "y", "showarrow": true, "arrowhead": 3, "arrowsize": 1, "arrowwidth": 1.5, "arrowcolor": "#9e9e9e", "text": "" },
{ "x": 650, "y": 200, "ax": 650, "ay": 150, "axref": "x", "ayref": "y", "showarrow": true, "arrowhead": 3, "arrowsize": 1, "arrowwidth": 1.5, "arrowcolor": "#9e9e9e", "text": "" },
{ "x": 695, "y": 250, "ax": 670, "ay": 250, "axref": "x", "ayref": "y", "showarrow": true, "arrowhead": 3, "arrowsize": 1, "arrowwidth": 1.5, "arrowcolor": "#9e9e9e", "text": "" },
{ "x": 65, "y": 72, "text": "532nm Laser", "showarrow": false, "font": { "size": 11 } },
{ "x": 250, "y": 72, "text": "BS1", "showarrow": false, "font": { "size": 11 } },
{ "x": 250, "y": 278, "text": "M1 (Reference Mirror)", "showarrow": false, "font": { "size": 11 } },
{ "x": 390, "y": 72, "text": "Object (RBC)", "showarrow": false, "font": { "size": 11 } },
{ "x": 495, "y": 72, "text": "40x/0.65NA Objective", "showarrow": false, "font": { "size": 11 } },
{ "x": 650, "y": 72, "text": "M2 (Mirror)", "showarrow": false, "font": { "size": 11 } },
{ "x": 650, "y": 278, "text": "BS2 (Recombine)", "showarrow": false, "font": { "size": 11 } },
{ "x": 735, "y": 278, "text": "CMOS Sensor<br>(Hologram)", "showarrow": false, "font": { "size": 11 } },
{ "x": 450, "y": 92, "text": "<i>Object beam</i>", "showarrow": false, "font": { "size": 10 }, "opacity": 0.7 },
{ "x": 450, "y": 258, "text": "<i>Reference beam</i>", "showarrow": false, "font": { "size": 10 }, "opacity": 0.7 }
]
}
}
The trade-off, once more
To pull the height/phase information out of a hologram, you window a narrow region around one sideband in the Fourier domain. Window it too narrow and you dodge the DC-spectrum noise sitting at the center of the frequency domain — but you also lose the high-frequency detail that carries the object’s fine structure. Window it too wide and you keep the detail but let the DC noise back in. Three papers, three different ways of attacking that same knob.
| Figure 1 of the JCSSE 2024 paper shows exactly what’s happening: the recorded hologram, expressed as $Holo = | R | ^2 + | O | ^2 + RO^* + R^*O$, splits in the Fourier domain into a wide DC spectrum ($ | R | ^2+ | O | ^2$) sitting at the center, flanked by two symmetric sidebands ($RO^$ and $R^O$) that each carry the full phase information on their own. Only one sideband needs to be windowed and kept. |
Here’s a reconstruction of that spectrum, with the actual windowing trade-off from Figure 2 overlaid on the sideband we keep — small window in solid white, medium in dashed, large in dash-dot, same convention the paper uses:
{"data": [{"type": "heatmap", "x": [0.0, 7.25, 14.49, 21.74, 28.99, 36.23, 43.48, 50.72, 57.97, 65.22, 72.46, 79.71, 86.96, 94.2, 101.45, 108.7, 115.94, 123.19, 130.43, 137.68, 144.93, 152.17, 159.42, 166.67, 173.91, 181.16, 188.41, 195.65, 202.9, 210.14, 217.39, 224.64, 231.88, 239.13, 246.38, 253.62, 260.87, 268.12, 275.36, 282.61, 289.86, 297.1, 304.35, 311.59, 318.84, 326.09, 333.33, 340.58, 347.83, 355.07, 362.32, 369.57, 376.81, 384.06, 391.3, 398.55, 405.8, 413.04, 420.29, 427.54, 434.78, 442.03, 449.28, 456.52, 463.77, 471.01, 478.26, 485.51, 492.75, 500.0], "y": [0.0, 7.32, 14.63, 21.95, 29.27, 36.59, 43.9, 51.22, 58.54, 65.85, 73.17, 80.49, 87.8, 95.12, 102.44, 109.76, 117.07, 124.39, 131.71, 139.02, 146.34, 153.66, 160.98, 168.29, 175.61, 182.93, 190.24, 197.56, 204.88, 212.2, 219.51, 226.83, 234.15, 241.46, 248.78, 256.1, 263.41, 270.73, 278.05, 285.37, 292.68, 300.0], "z": [[0.12, 0.225, 0.019, 0.111, 0.229, 0.024, 0.102, 0.233, 0.03, 0.094, 0.236, 0.036, 0.085, 0.238, 0.043, 0.077, 0.24, 0.051, 0.07, 0.243, 0.061, 0.065, 0.246, 0.073, 0.062, 0.251, 0.086, 0.06, 0.255, 0.1, 0.059, 0.258, 0.113, 0.056, 0.258, 0.123, 0.05, 0.254, 0.129, 0.041, 0.246, 0.133, 0.031, 0.236, 0.137, 0.021, 0.225, 0.141, 0.014, 0.216, 0.146, 0.008, 0.208, 0.153, 0.004, 0.201, 0.161, 0.002, 0.193, 0.169, 0.0, 0.186, 0.177, 0.0, 0.178, 0.185, 0.0, 0.17, 0.192, 0.001], [0.239, 0.049, 0.069, 0.24, 0.056, 0.061, 0.24, 0.065, 0.053, 0.24, 0.073, 0.046, 0.239, 0.081, 0.04, 0.238, 0.091, 0.035, 0.237, 0.102, 0.033, 0.238, 0.116, 0.033, 0.241, 0.132, 0.035, 0.244, 0.149, 0.039, 0.247, 0.165, 0.041, 0.247, 0.177, 0.04, 0.241, 0.184, 0.034, 0.229, 0.186, 0.026, 0.215, 0.187, 0.016, 0.2, 0.187, 0.009, 0.186, 0.189, 0.005, 0.174, 0.194, 0.003, 0.164, 0.199, 0.003, 0.154, 0.205, 0.005, 0.145, 0.211, 0.008, 0.137, 0.216, 0.011, 0.128, 0.221, 0.015, 0.119], [0.089, 0.033, 0.234, 0.097, 0.027, 0.231, 0.106, 0.022, 0.228, 0.115, 0.017, 0.224, 0.125, 0.014, 0.22, 0.135, 0.011, 0.217, 0.147, 0.012, 0.215, 0.161, 0.016, 0.216, 0.178, 0.024, 0.22, 0.197, 0.034, 0.224, 0.216, 0.044, 0.225, 0.231, 0.048, 0.219, 0.238, 0.047, 0.206, 0.238, 0.04, 0.188, 0.234, 0.031, 0.168, 0.229, 0.023, 0.15, 0.226, 0.019, 0.134, 0.226, 0.018, 0.122, 0.228, 0.021, 0.111, 0.23, 0.025, 0.102, 0.233, 0.031, 0.093, 0.236, 0.037, 0.084, 0.238, 0.043, 0.076, 0.239], [0.009, 0.214, 0.141, 0.006, 0.208, 0.15, 0.004, 0.201, 0.159, 0.002, 0.195, 0.167, 0.001, 0.189, 0.177, 0.002, 0.183, 0.187, 0.006, 0.18, 0.201, 0.015, 0.181, 0.218, 0.028, 0.186, 0.239, 0.045, 0.193, 0.261, 0.063, 0.198, 0.279, 0.076, 0.195, 0.287, 0.08, 0.183, 0.285, 0.075, 0.162, 0.275, 0.065, 0.138, 0.263, 0.055, 0.114, 0.253, 0.05, 0.095, 0.246, 0.049, 0.081, 0.242, 0.052, 0.07, 0.241, 0.058, 0.061, 0.24, 0.065, 0.053, 0.24, 0.073, 0.046, 0.238, 0.081, 0.039, 0.236, 0.09], [0.18, 0.182, 0.0, 0.173, 0.189, 0.001, 0.165, 0.197, 0.002, 0.156, 0.204, 0.005, 0.149, 0.211, 0.009, 0.142, 0.22, 0.017, 0.138, 0.232, 0.029, 0.139, 0.248, 0.047, 0.146, 0.27, 0.072, 0.158, 0.295, 0.099, 0.17, 0.316, 0.121, 0.174, 0.327, 0.132, 0.165, 0.324, 0.13, 0.144, 0.309, 0.119, 0.116, 0.288, 0.105, 0.088, 0.268, 0.096, 0.065, 0.253, 0.092, 0.048, 0.243, 0.094, 0.036, 0.236, 0.099, 0.028, 0.232, 0.107, 0.022, 0.228, 0.116, 0.017, 0.223, 0.125, 0.012, 0.218, 0.134, 0.009], [0.215, 0.01, 0.13, 0.22, 0.014, 0.122, 0.225, 0.019, 0.113, 0.229, 0.024, 0.105, 0.234, 0.031, 0.098, 0.239, 0.041, 0.095, 0.249, 0.056, 0.097, 0.263, 0.079, 0.108, 0.286, 0.11, 0.125, 0.313, 0.146, 0.146, 0.34, 0.179, 0.16, 0.356, 0.199, 0.159, 0.354, 0.201, 0.141, 0.334, 0.189, 0.11, 0.305, 0.17, 0.077, 0.274, 0.153, 0.048, 0.248, 0.143, 0.028, 0.23, 0.141, 0.015, 0.218, 0.145, 0.008, 0.209, 0.151, 0.004, 0.201, 0.159, 0.002, 0.194, 0.167, 0.001, 0.187, 0.175, 0.0, 0.179], [0.035, 0.087, 0.237, 0.041, 0.078, 0.239, 0.048, 0.07, 0.24, 0.056, 0.063, 0.241, 0.065, 0.057, 0.244, 0.077, 0.055, 0.249, 0.094, 0.059, 0.262, 0.12, 0.074, 0.284, 0.157, 0.099, 0.315, 0.201, 0.13, 0.347, 0.245, 0.157, 0.371, 0.276, 0.168, 0.374, 0.285, 0.157, 0.353, 0.272, 0.126, 0.316, 0.245, 0.087, 0.272, 0.218, 0.051, 0.235, 0.199, 0.026, 0.207, 0.189, 0.011, 0.188, 0.189, 0.004, 0.175, 0.192, 0.002, 0.165, 0.198, 0.003, 0.156, 0.204, 0.005, 0.147, 0.21, 0.007, 0.138, 0.216], [0.048, 0.239, 0.079, 0.041, 0.237, 0.087, 0.034, 0.235, 0.096, 0.029, 0.233, 0.106, 0.025, 0.232, 0.119, 0.025, 0.234, 0.137, 0.032, 0.244, 0.164, 0.051, 0.265, 0.204, 0.083, 0.299, 0.255, 0.126, 0.34, 0.311, 0.169, 0.375, 0.355, 0.196, 0.387, 0.373, 0.196, 0.369, 0.361, 0.167, 0.326, 0.328, 0.123, 0.271, 0.288, 0.079, 0.219, 0.255, 0.045, 0.179, 0.234, 0.026, 0.153, 0.225, 0.018, 0.135, 0.224, 0.017, 0.123, 0.226, 0.019, 0.112, 0.229, 0.024, 0.103, 0.233, 0.029, 0.094, 0.235, 0.036], [0.224, 0.122, 0.014, 0.22, 0.131, 0.01, 0.215, 0.14, 0.007, 0.21, 0.15, 0.006, 0.206, 0.162, 0.009, 0.205, 0.178, 0.018, 0.212, 0.205, 0.041, 0.233, 0.246, 0.08, 0.27, 0.304, 0.135, 0.319, 0.37, 0.195, 0.367, 0.428, 0.242, 0.394, 0.459, 0.257, 0.385, 0.452, 0.236, 0.341, 0.413, 0.188, 0.276, 0.359, 0.133, 0.209, 0.308, 0.088, 0.155, 0.273, 0.06, 0.119, 0.253, 0.048, 0.095, 0.244, 0.046, 0.081, 0.241, 0.05, 0.07, 0.24, 0.056, 0.062, 0.24, 0.064, 0.054, 0.24, 0.072, 0.047], [0.165, 0.001, 0.189, 0.173, 0.0, 0.182, 0.181, 0.001, 0.174, 0.19, 0.002, 0.168, 0.199, 0.008, 0.165, 0.214, 0.02, 0.17, 0.238, 0.045, 0.19, 0.278, 0.09, 0.23, 0.339, 0.155, 0.288, 0.415, 0.233, 0.352, 0.489, 0.302, 0.398, 0.536, 0.338, 0.405, 0.539, 0.328, 0.366, 0.497, 0.28, 0.293, 0.429, 0.214, 0.212, 0.359, 0.154, 0.142, 0.304, 0.113, 0.093, 0.269, 0.093, 0.063, 0.25, 0.088, 0.046, 0.241, 0.091, 0.036, 0.236, 0.097, 0.028, 0.232, 0.106, 0.022, 0.228, 0.114, 0.017, 0.224], [0.004, 0.15, 0.208, 0.006, 0.141, 0.214, 0.01, 0.132, 0.22, 0.015, 0.125, 0.227, 0.022, 0.121, 0.238, 0.036, 0.124, 0.258, 0.064, 0.143, 0.295, 0.112, 0.185, 0.357, 0.185, 0.251, 0.44, 0.279, 0.332, 0.53, 0.371, 0.402, 0.597, 0.432, 0.431, 0.616, 0.44, 0.405, 0.578, 0.395, 0.331, 0.498, 0.319, 0.236, 0.407, 0.241, 0.148, 0.329, 0.182, 0.084, 0.275, 0.149, 0.044, 0.244, 0.137, 0.023, 0.226, 0.136, 0.013, 0.216, 0.142, 0.007, 0.209, 0.15, 0.004, 0.202, 0.158, 0.002, 0.195, 0.166], [0.106, 0.231, 0.028, 0.097, 0.235, 0.034, 0.089, 0.238, 0.041, 0.082, 0.241, 0.051, 0.078, 0.248, 0.066, 0.08, 0.263, 0.093, 0.098, 0.296, 0.142, 0.141, 0.355, 0.221, 0.214, 0.443, 0.327, 0.311, 0.547, 0.441, 0.406, 0.637, 0.53, 0.464, 0.678, 0.562, 0.459, 0.651, 0.526, 0.391, 0.566, 0.443, 0.286, 0.455, 0.345, 0.179, 0.352, 0.264, 0.097, 0.275, 0.213, 0.045, 0.227, 0.189, 0.018, 0.201, 0.182, 0.006, 0.185, 0.184, 0.002, 0.174, 0.189, 0.001, 0.166, 0.196, 0.002, 0.157, 0.203, 0.004], [0.24, 0.061, 0.056, 0.24, 0.069, 0.049, 0.239, 0.079, 0.043, 0.24, 0.09, 0.041, 0.244, 0.107, 0.045, 0.253, 0.132, 0.061, 0.279, 0.178, 0.104, 0.333, 0.257, 0.181, 0.423, 0.371, 0.292, 0.539, 0.505, 0.412, 0.652, 0.622, 0.504, 0.72, 0.683, 0.529, 0.714, 0.664, 0.475, 0.632, 0.579, 0.366, 0.505, 0.463, 0.241, 0.377, 0.356, 0.137, 0.274, 0.281, 0.068, 0.207, 0.24, 0.032, 0.17, 0.224, 0.018, 0.148, 0.22, 0.014, 0.133, 0.221, 0.014, 0.123, 0.225, 0.018, 0.113, 0.228, 0.023, 0.104], [0.103, 0.024, 0.229, 0.112, 0.019, 0.225, 0.121, 0.016, 0.223, 0.134, 0.017, 0.226, 0.153, 0.026, 0.233, 0.176, 0.04, 0.249, 0.214, 0.078, 0.295, 0.289, 0.158, 0.383, 0.406, 0.278, 0.507, 0.553, 0.421, 0.642, 0.698, 0.547, 0.742, 0.791, 0.608, 0.764, 0.798, 0.579, 0.696, 0.718, 0.474, 0.562, 0.587, 0.334, 0.41, 0.453, 0.206, 0.28, 0.349, 0.116, 0.19, 0.286, 0.068, 0.14, 0.26, 0.052, 0.115, 0.25, 0.045, 0.095, 0.241, 0.043, 0.08, 0.239, 0.048, 0.071, 0.24, 0.055, 0.063, 0.24], [0.005, 0.204, 0.155, 0.003, 0.198, 0.164, 0.002, 0.192, 0.176, 0.009, 0.198, 0.203, 0.032, 0.213, 0.229, 0.045, 0.215, 0.25, 0.07, 0.246, 0.313, 0.145, 0.327, 0.426, 0.27, 0.456, 0.581, 0.431, 0.609, 0.748, 0.59, 0.742, 0.875, 0.692, 0.801, 0.914, 0.697, 0.758, 0.85, 0.605, 0.626, 0.711, 0.456, 0.456, 0.551, 0.304, 0.298, 0.416, 0.188, 0.183, 0.327, 0.122, 0.119, 0.288, 0.107, 0.098, 0.278, 0.102, 0.072, 0.254, 0.087, 0.046, 0.239, 0.088, 0.035, 0.235, 0.095, 0.029, 0.232, 0.104], [0.168, 0.194, 0.002, 0.16, 0.201, 0.004, 0.153, 0.212, 0.016, 0.163, 0.249, 0.064, 0.206, 0.302, 0.098, 0.205, 0.298, 0.091, 0.197, 0.327, 0.147, 0.264, 0.428, 0.27, 0.392, 0.584, 0.442, 0.559, 0.767, 0.628, 0.722, 0.926, 0.771, 0.823, 1.003, 0.817, 0.815, 0.965, 0.749, 0.698, 0.828, 0.599, 0.519, 0.648, 0.427, 0.336, 0.48, 0.283, 0.193, 0.36, 0.194, 0.111, 0.306, 0.178, 0.104, 0.314, 0.196, 0.091, 0.28, 0.157, 0.035, 0.23, 0.134, 0.012, 0.216, 0.139, 0.007, 0.21, 0.148, 0.004], [0.223, 0.017, 0.116, 0.227, 0.022, 0.108, 0.234, 0.036, 0.119, 0.278, 0.11, 0.208, 0.391, 0.214, 0.252, 0.388, 0.17, 0.178, 0.341, 0.167, 0.203, 0.413, 0.276, 0.322, 0.561, 0.451, 0.496, 0.752, 0.656, 0.685, 0.939, 0.837, 0.827, 1.055, 0.928, 0.864, 1.052, 0.894, 0.776, 0.93, 0.754, 0.598, 0.738, 0.567, 0.396, 0.542, 0.395, 0.226, 0.388, 0.277, 0.121, 0.311, 0.253, 0.128, 0.354, 0.327, 0.177, 0.351, 0.282, 0.078, 0.233, 0.193, 0.009, 0.186, 0.181, 0.001, 0.175, 0.188, 0.001, 0.166], [0.045, 0.073, 0.24, 0.053, 0.066, 0.242, 0.066, 0.074, 0.279, 0.15, 0.196, 0.462, 0.367, 0.368, 0.551, 0.349, 0.239, 0.389, 0.222, 0.16, 0.384, 0.289, 0.256, 0.514, 0.456, 0.429, 0.705, 0.67, 0.637, 0.911, 0.881, 0.818, 1.066, 1.018, 0.903, 1.105, 1.026, 0.854, 1.011, 0.908, 0.693, 0.819, 0.714, 0.48, 0.6, 0.516, 0.285, 0.415, 0.366, 0.151, 0.305, 0.316, 0.154, 0.37, 0.459, 0.315, 0.484, 0.492, 0.226, 0.296, 0.289, 0.045, 0.158, 0.219, 0.011, 0.133, 0.219, 0.013, 0.124, 0.224], [0.037, 0.236, 0.093, 0.031, 0.234, 0.104, 0.034, 0.256, 0.173, 0.152, 0.463, 0.48, 0.486, 0.745, 0.628, 0.426, 0.523, 0.352, 0.17, 0.359, 0.309, 0.203, 0.449, 0.455, 0.366, 0.63, 0.668, 0.582, 0.847, 0.899, 0.794, 1.034, 1.075, 0.928, 1.12, 1.131, 0.928, 1.064, 1.045, 0.795, 0.887, 0.856, 0.584, 0.656, 0.639, 0.369, 0.443, 0.458, 0.207, 0.297, 0.366, 0.175, 0.34, 0.529, 0.431, 0.616, 0.751, 0.493, 0.468, 0.468, 0.16, 0.161, 0.26, 0.042, 0.092, 0.238, 0.04, 0.081, 0.238, 0.046], [0.217, 0.136, 0.008, 0.211, 0.146, 0.009, 0.218, 0.19, 0.09, 0.382, 0.49, 0.501, 0.842, 0.893, 0.688, 0.749, 0.588, 0.276, 0.37, 0.35, 0.174, 0.374, 0.447, 0.313, 0.536, 0.648, 0.527, 0.753, 0.886, 0.76, 0.965, 1.094, 0.937, 1.095, 1.196, 0.991, 1.086, 1.151, 0.898, 0.938, 0.981, 0.701, 0.709, 0.755, 0.475, 0.475, 0.545, 0.286, 0.296, 0.41, 0.203, 0.275, 0.514, 0.455, 0.637, 0.927, 0.776, 0.715, 0.74, 0.388, 0.24, 0.327, 0.104, 0.062, 0.243, 0.078, 0.043, 0.238, 0.085, 0.036], [0.178, 0.0, 0.177, 0.186, 0.002, 0.173, 0.207, 0.043, 0.263, 0.415, 0.389, 0.741, 0.972, 0.855, 0.95, 0.872, 0.483, 0.449, 0.432, 0.186, 0.304, 0.433, 0.275, 0.434, 0.61, 0.477, 0.641, 0.843, 0.718, 0.866, 1.071, 0.929, 1.035, 1.215, 1.034, 1.077, 1.217, 0.99, 0.97, 1.076, 0.82, 0.757, 0.852, 0.593, 0.513, 0.623, 0.385, 0.308, 0.45, 0.255, 0.217, 0.452, 0.399, 0.511, 0.896, 0.9, 0.88, 0.999, 0.691, 0.41, 0.445, 0.213, 0.061, 0.24, 0.124, 0.016, 0.221, 0.129, 0.011, 0.216], [0.008, 0.136, 0.217, 0.012, 0.128, 0.227, 0.03, 0.159, 0.329, 0.236, 0.494, 0.819, 0.792, 0.95, 1.04, 0.692, 0.565, 0.55, 0.252, 0.256, 0.417, 0.255, 0.333, 0.556, 0.435, 0.522, 0.773, 0.672, 0.75, 1.007, 0.904, 0.948, 1.184, 1.054, 1.039, 1.233, 1.062, 0.982, 1.133, 0.929, 0.798, 0.925, 0.713, 0.558, 0.686, 0.493, 0.337, 0.484, 0.329, 0.194, 0.395, 0.342, 0.325, 0.691, 0.797, 0.814, 1.061, 0.912, 0.594, 0.59, 0.37, 0.105, 0.24, 0.177, 0.006, 0.192, 0.171, 0.0, 0.184, 0.179], [0.092, 0.236, 0.038, 0.084, 0.239, 0.048, 0.087, 0.275, 0.138, 0.25, 0.567, 0.559, 0.71, 0.963, 0.754, 0.616, 0.648, 0.35, 0.238, 0.402, 0.256, 0.243, 0.49, 0.403, 0.408, 0.681, 0.624, 0.627, 0.909, 0.863, 0.842, 1.108, 1.047, 0.977, 1.2, 1.105, 0.973, 1.145, 1.018, 0.83, 0.965, 0.824, 0.607, 0.729, 0.601, 0.379, 0.51, 0.416, 0.207, 0.365, 0.334, 0.194, 0.46, 0.587, 0.564, 0.864, 0.909, 0.651, 0.669, 0.521, 0.185, 0.248, 0.236, 0.016, 0.156, 0.208, 0.006, 0.143, 0.213, 0.009], [0.239, 0.074, 0.045, 0.238, 0.083, 0.041, 0.245, 0.117, 0.095, 0.366, 0.337, 0.387, 0.701, 0.633, 0.521, 0.641, 0.424, 0.231, 0.384, 0.275, 0.175, 0.415, 0.38, 0.309, 0.575, 0.577, 0.511, 0.786, 0.809, 0.731, 0.993, 1.012, 0.897, 1.12, 1.114, 0.944, 1.113, 1.074, 0.851, 0.971, 0.913, 0.656, 0.75, 0.698, 0.434, 0.524, 0.5, 0.248, 0.35, 0.37, 0.154, 0.306, 0.427, 0.315, 0.549, 0.718, 0.536, 0.596, 0.584, 0.253, 0.249, 0.29, 0.047, 0.117, 0.234, 0.027, 0.099, 0.234, 0.032, 0.09], [0.117, 0.016, 0.223, 0.126, 0.013, 0.219, 0.141, 0.025, 0.251, 0.225, 0.151, 0.429, 0.443, 0.328, 0.513, 0.425, 0.204, 0.346, 0.298, 0.13, 0.337, 0.364, 0.232, 0.463, 0.53, 0.41, 0.649, 0.743, 0.623, 0.851, 0.952, 0.81, 1.003, 1.085, 0.9, 1.039, 1.091, 0.858, 0.942, 0.97, 0.702, 0.748, 0.773, 0.495, 0.528, 0.571, 0.305, 0.34, 0.417, 0.177, 0.23, 0.362, 0.185, 0.294, 0.5, 0.351, 0.407, 0.529, 0.267, 0.22, 0.321, 0.091, 0.082, 0.246, 0.061, 0.059, 0.24, 0.067, 0.051, 0.239], [0.002, 0.193, 0.169, 0.001, 0.187, 0.178, 0.003, 0.187, 0.205, 0.044, 0.248, 0.31, 0.156, 0.336, 0.37, 0.153, 0.278, 0.31, 0.107, 0.258, 0.349, 0.181, 0.352, 0.482, 0.332, 0.509, 0.668, 0.528, 0.698, 0.869, 0.721, 0.861, 1.022, 0.845, 0.935, 1.067, 0.851, 0.884, 0.988, 0.738, 0.726, 0.817, 0.557, 0.521, 0.621, 0.372, 0.332, 0.456, 0.231, 0.197, 0.353, 0.168, 0.157, 0.363, 0.225, 0.215, 0.412, 0.238, 0.156, 0.313, 0.135, 0.052, 0.242, 0.104, 0.027, 0.231, 0.109, 0.02, 0.226, 0.118], [0.154, 0.205, 0.005, 0.146, 0.211, 0.008, 0.139, 0.221, 0.021, 0.148, 0.258, 0.07, 0.192, 0.31, 0.105, 0.191, 0.305, 0.099, 0.183, 0.332, 0.156, 0.25, 0.433, 0.28, 0.377, 0.587, 0.452, 0.545, 0.769, 0.639, 0.709, 0.928, 0.783, 0.81, 1.003, 0.83, 0.802, 0.964, 0.762, 0.686, 0.827, 0.613, 0.507, 0.645, 0.441, 0.325, 0.476, 0.297, 0.184, 0.355, 0.208, 0.103, 0.301, 0.192, 0.096, 0.308, 0.21, 0.084, 0.272, 0.171, 0.029, 0.222, 0.149, 0.007, 0.206, 0.153, 0.003, 0.199, 0.162, 0.001], [0.23, 0.024, 0.102, 0.233, 0.03, 0.093, 0.237, 0.039, 0.089, 0.247, 0.059, 0.1, 0.271, 0.088, 0.11, 0.285, 0.106, 0.116, 0.308, 0.152, 0.164, 0.381, 0.251, 0.264, 0.502, 0.396, 0.406, 0.659, 0.567, 0.561, 0.811, 0.718, 0.678, 0.905, 0.794, 0.707, 0.902, 0.768, 0.635, 0.8, 0.655, 0.489, 0.64, 0.502, 0.323, 0.476, 0.362, 0.183, 0.348, 0.264, 0.09, 0.268, 0.217, 0.05, 0.237, 0.211, 0.039, 0.217, 0.201, 0.016, 0.187, 0.189, 0.003, 0.171, 0.193, 0.002, 0.162, 0.199, 0.003, 0.153], [0.057, 0.061, 0.24, 0.065, 0.053, 0.24, 0.073, 0.047, 0.241, 0.085, 0.046, 0.247, 0.104, 0.052, 0.257, 0.127, 0.062, 0.276, 0.166, 0.097, 0.325, 0.241, 0.173, 0.416, 0.359, 0.29, 0.543, 0.507, 0.43, 0.68, 0.653, 0.552, 0.782, 0.748, 0.61, 0.807, 0.756, 0.577, 0.74, 0.678, 0.468, 0.607, 0.549, 0.325, 0.456, 0.417, 0.193, 0.327, 0.316, 0.099, 0.238, 0.257, 0.048, 0.189, 0.234, 0.028, 0.164, 0.226, 0.019, 0.143, 0.221, 0.014, 0.129, 0.222, 0.016, 0.118, 0.226, 0.02, 0.109, 0.23], [0.027, 0.231, 0.107, 0.022, 0.228, 0.116, 0.017, 0.224, 0.126, 0.015, 0.222, 0.139, 0.017, 0.225, 0.158, 0.027, 0.235, 0.188, 0.053, 0.266, 0.244, 0.11, 0.33, 0.335, 0.203, 0.428, 0.457, 0.324, 0.545, 0.589, 0.443, 0.646, 0.691, 0.518, 0.689, 0.724, 0.52, 0.654, 0.679, 0.447, 0.552, 0.576, 0.331, 0.419, 0.457, 0.214, 0.295, 0.357, 0.123, 0.204, 0.291, 0.07, 0.148, 0.258, 0.046, 0.117, 0.245, 0.039, 0.098, 0.24, 0.039, 0.085, 0.239, 0.044, 0.076, 0.239, 0.051, 0.068, 0.24, 0.058], [0.207, 0.15, 0.004, 0.201, 0.159, 0.002, 0.195, 0.168, 0.002, 0.189, 0.178, 0.004, 0.186, 0.192, 0.012, 0.189, 0.214, 0.033, 0.206, 0.253, 0.075, 0.247, 0.32, 0.147, 0.319, 0.416, 0.248, 0.414, 0.528, 0.357, 0.506, 0.626, 0.441, 0.561, 0.674, 0.468, 0.552, 0.656, 0.429, 0.479, 0.579, 0.342, 0.369, 0.476, 0.242, 0.257, 0.38, 0.159, 0.169, 0.312, 0.106, 0.11, 0.272, 0.081, 0.077, 0.252, 0.074, 0.058, 0.243, 0.076, 0.047, 0.239, 0.082, 0.039, 0.237, 0.091, 0.032, 0.234, 0.099, 0.026], [0.19, 0.001, 0.164, 0.197, 0.002, 0.156, 0.204, 0.005, 0.148, 0.211, 0.009, 0.141, 0.22, 0.017, 0.139, 0.234, 0.034, 0.147, 0.261, 0.066, 0.172, 0.307, 0.121, 0.222, 0.377, 0.202, 0.295, 0.467, 0.297, 0.375, 0.554, 0.381, 0.434, 0.609, 0.425, 0.445, 0.609, 0.414, 0.399, 0.556, 0.354, 0.314, 0.471, 0.274, 0.218, 0.383, 0.201, 0.136, 0.314, 0.15, 0.079, 0.27, 0.125, 0.046, 0.245, 0.117, 0.028, 0.232, 0.119, 0.019, 0.224, 0.126, 0.013, 0.218, 0.134, 0.009, 0.213, 0.143, 0.006, 0.207], [0.014, 0.121, 0.225, 0.019, 0.113, 0.229, 0.024, 0.104, 0.233, 0.03, 0.096, 0.238, 0.039, 0.091, 0.245, 0.053, 0.093, 0.261, 0.078, 0.108, 0.29, 0.12, 0.141, 0.338, 0.183, 0.195, 0.405, 0.262, 0.261, 0.477, 0.341, 0.319, 0.53, 0.393, 0.343, 0.544, 0.402, 0.321, 0.51, 0.367, 0.26, 0.443, 0.306, 0.183, 0.365, 0.243, 0.111, 0.298, 0.197, 0.059, 0.252, 0.171, 0.028, 0.223, 0.162, 0.012, 0.206, 0.163, 0.004, 0.196, 0.169, 0.001, 0.187, 0.176, 0.0, 0.179, 0.184, 0.0, 0.171, 0.191], [0.078, 0.239, 0.049, 0.07, 0.24, 0.056, 0.062, 0.24, 0.064, 0.055, 0.241, 0.074, 0.05, 0.243, 0.086, 0.049, 0.25, 0.106, 0.057, 0.266, 0.137, 0.079, 0.296, 0.185, 0.118, 0.342, 0.249, 0.171, 0.397, 0.317, 0.223, 0.444, 0.37, 0.255, 0.464, 0.392, 0.252, 0.445, 0.376, 0.214, 0.394, 0.333, 0.156, 0.328, 0.282, 0.097, 0.267, 0.24, 0.052, 0.22, 0.214, 0.024, 0.189, 0.203, 0.01, 0.17, 0.202, 0.006, 0.157, 0.205, 0.006, 0.147, 0.21, 0.008, 0.138, 0.216, 0.011, 0.129, 0.221, 0.015], [0.237, 0.088, 0.034, 0.235, 0.096, 0.028, 0.232, 0.106, 0.023, 0.229, 0.115, 0.019, 0.226, 0.127, 0.018, 0.227, 0.142, 0.023, 0.233, 0.166, 0.038, 0.249, 0.201, 0.067, 0.278, 0.249, 0.108, 0.317, 0.305, 0.154, 0.355, 0.354, 0.189, 0.376, 0.381, 0.199, 0.368, 0.379, 0.18, 0.331, 0.35, 0.14, 0.278, 0.31, 0.095, 0.224, 0.273, 0.058, 0.179, 0.248, 0.035, 0.148, 0.235, 0.025, 0.128, 0.23, 0.022, 0.114, 0.231, 0.025, 0.103, 0.233, 0.03, 0.094, 0.235, 0.036, 0.085, 0.237, 0.042, 0.077], [0.131, 0.01, 0.214, 0.14, 0.007, 0.209, 0.149, 0.004, 0.203, 0.158, 0.003, 0.197, 0.168, 0.003, 0.192, 0.179, 0.008, 0.192, 0.196, 0.019, 0.198, 0.221, 0.041, 0.214, 0.256, 0.073, 0.24, 0.299, 0.112, 0.267, 0.34, 0.147, 0.286, 0.367, 0.165, 0.285, 0.373, 0.161, 0.261, 0.355, 0.138, 0.22, 0.324, 0.107, 0.174, 0.292, 0.079, 0.135, 0.267, 0.06, 0.105, 0.252, 0.053, 0.086, 0.245, 0.053, 0.072, 0.242, 0.057, 0.062, 0.241, 0.064, 0.054, 0.24, 0.072, 0.046, 0.238, 0.08, 0.039, 0.237], [0.0, 0.181, 0.181, 0.0, 0.174, 0.189, 0.001, 0.165, 0.196, 0.002, 0.157, 0.204, 0.006, 0.15, 0.212, 0.011, 0.146, 0.223, 0.021, 0.145, 0.239, 0.038, 0.152, 0.262, 0.064, 0.167, 0.292, 0.097, 0.187, 0.324, 0.129, 0.202, 0.348, 0.152, 0.206, 0.356, 0.158, 0.191, 0.346, 0.148, 0.162, 0.322, 0.129, 0.125, 0.295, 0.109, 0.092, 0.27, 0.096, 0.066, 0.253, 0.091, 0.048, 0.243, 0.093, 0.037, 0.237, 0.099, 0.029, 0.232, 0.106, 0.022, 0.228, 0.115, 0.017, 0.224, 0.124, 0.013, 0.219, 0.133], [0.14, 0.214, 0.01, 0.131, 0.219, 0.014, 0.123, 0.224, 0.018, 0.114, 0.229, 0.024, 0.106, 0.234, 0.031, 0.099, 0.239, 0.041, 0.095, 0.248, 0.055, 0.097, 0.262, 0.076, 0.105, 0.281, 0.103, 0.117, 0.302, 0.132, 0.13, 0.32, 0.156, 0.136, 0.328, 0.169, 0.129, 0.322, 0.169, 0.109, 0.304, 0.159, 0.083, 0.28, 0.146, 0.057, 0.257, 0.137, 0.036, 0.238, 0.134, 0.022, 0.225, 0.136, 0.013, 0.216, 0.142, 0.007, 0.209, 0.15, 0.004, 0.202, 0.158, 0.002, 0.195, 0.167, 0.001, 0.188, 0.175, 0.0], [0.235, 0.034, 0.088, 0.237, 0.04, 0.079, 0.239, 0.047, 0.071, 0.24, 0.055, 0.064, 0.241, 0.063, 0.057, 0.242, 0.074, 0.053, 0.245, 0.087, 0.052, 0.251, 0.104, 0.056, 0.26, 0.126, 0.064, 0.273, 0.15, 0.074, 0.284, 0.173, 0.081, 0.29, 0.188, 0.08, 0.285, 0.194, 0.07, 0.27, 0.191, 0.053, 0.249, 0.184, 0.034, 0.228, 0.179, 0.019, 0.209, 0.177, 0.009, 0.195, 0.179, 0.003, 0.183, 0.183, 0.001, 0.174, 0.19, 0.001, 0.165, 0.196, 0.002, 0.156, 0.203, 0.004, 0.148, 0.209, 0.007, 0.139], [0.069, 0.049, 0.239, 0.078, 0.042, 0.237, 0.086, 0.035, 0.235, 0.095, 0.029, 0.233, 0.104, 0.024, 0.23, 0.114, 0.021, 0.228, 0.126, 0.02, 0.228, 0.14, 0.023, 0.23, 0.158, 0.029, 0.235, 0.178, 0.038, 0.24, 0.197, 0.046, 0.242, 0.212, 0.049, 0.237, 0.221, 0.046, 0.225, 0.222, 0.037, 0.207, 0.218, 0.027, 0.188, 0.214, 0.017, 0.17, 0.212, 0.012, 0.155, 0.213, 0.01, 0.142, 0.216, 0.011, 0.132, 0.22, 0.014, 0.122, 0.225, 0.018, 0.113, 0.229, 0.023, 0.104, 0.232, 0.029, 0.095, 0.235], [0.019, 0.225, 0.121, 0.014, 0.22, 0.13, 0.01, 0.215, 0.139, 0.007, 0.21, 0.148, 0.005, 0.204, 0.157, 0.004, 0.198, 0.167, 0.004, 0.194, 0.178, 0.007, 0.191, 0.191, 0.013, 0.19, 0.206, 0.022, 0.19, 0.222, 0.031, 0.189, 0.235, 0.038, 0.184, 0.243, 0.04, 0.173, 0.245, 0.039, 0.158, 0.243, 0.035, 0.141, 0.24, 0.031, 0.124, 0.237, 0.03, 0.11, 0.236, 0.031, 0.098, 0.237, 0.036, 0.088, 0.238, 0.041, 0.079, 0.239, 0.048, 0.071, 0.24, 0.055, 0.063, 0.24, 0.063, 0.055, 0.24, 0.071], [0.197, 0.164, 0.001, 0.19, 0.172, 0.0, 0.183, 0.18, 0.0, 0.175, 0.188, 0.001, 0.167, 0.195, 0.002, 0.159, 0.203, 0.005, 0.152, 0.211, 0.01, 0.146, 0.22, 0.017, 0.141, 0.23, 0.026, 0.138, 0.241, 0.036, 0.135, 0.25, 0.045, 0.129, 0.256, 0.052, 0.12, 0.257, 0.056, 0.108, 0.256, 0.057, 0.094, 0.252, 0.058, 0.081, 0.247, 0.061, 0.068, 0.244, 0.065, 0.058, 0.241, 0.071, 0.049, 0.239, 0.079, 0.041, 0.237, 0.087, 0.035, 0.235, 0.095, 0.029, 0.232, 0.104, 0.023, 0.229, 0.113, 0.018]], "colorscale": "Viridis", "showscale": false, "hoverinfo": "skip"}], "layout": {"title": {"text": "Frequency Spectrum of a DHM Hologram — Sideband Windowing Trade-off"}, "xaxis": {"visible": false, "range": [0, 600]}, "yaxis": {"visible": false, "range": [0, 300], "scaleanchor": "x", "scaleratio": 1}, "height": 480, "margin": {"l": 20, "r": 20, "t": 60, "b": 20}, "shapes": [{"type": "circle", "x0": 195, "y0": 95, "x1": 305, "y1": 205, "line": {"color": "white", "width": 1.5, "dash": "dot"}}, {"type": "circle", "x0": 72, "y0": 127, "x1": 118, "y1": 173, "line": {"color": "white", "width": 1.5, "dash": "dot"}}, {"type": "circle", "x0": 382, "y0": 127, "x1": 428, "y1": 173, "line": {"color": "white", "width": 1.5, "dash": "dot"}}, {"type": "rect", "x0": 390, "y0": 135, "x1": 420, "y1": 165, "line": {"color": "white", "width": 2, "dash": "solid"}}, {"type": "rect", "x0": 375, "y0": 120, "x1": 435, "y1": 180, "line": {"color": "white", "width": 2, "dash": "dash"}}, {"type": "rect", "x0": 360, "y0": 105, "x1": 450, "y1": 195, "line": {"color": "white", "width": 2, "dash": "dashdot"}}, {"type": "line", "x0": 460, "y0": 190, "x1": 485, "y1": 190, "line": {"color": "white", "width": 2, "dash": "solid"}}, {"type": "line", "x0": 460, "y0": 160, "x1": 485, "y1": 160, "line": {"color": "white", "width": 2, "dash": "dash"}}, {"type": "line", "x0": 460, "y0": 130, "x1": 485, "y1": 130, "line": {"color": "white", "width": 2, "dash": "dashdot"}}], "annotations": [{"x": 250, "y": 225, "text": "DC spectrum |R|²+|O|²<br>(widespread noise)", "showarrow": false, "font": {"size": 11, "color": "white"}}, {"x": 95, "y": 190, "text": "R O*", "showarrow": false, "font": {"size": 11, "color": "white"}}, {"x": 405, "y": 215, "text": "R* O — the sideband<br>we window", "showarrow": false, "font": {"size": 11, "color": "white"}}, {"x": 490, "y": 190, "text": "Window = 100×100<br>least DC noise, least detail", "showarrow": false, "font": {"size": 10, "color": "white"}, "xanchor": "left"}, {"x": 490, "y": 160, "text": "Window = 250×250<br>balanced", "showarrow": false, "font": {"size": 10, "color": "white"}, "xanchor": "left"}, {"x": 490, "y": 130, "text": "Window = 500×500<br>most detail, most DC noise", "showarrow": false, "font": {"size": 10, "color": "white"}, "xanchor": "left"}]}}
This is the whole trade-off in one picture. The DC spectrum’s energy doesn’t have a hard edge — it fades outward, so any window drawn around the sideband inevitably picks up some bleed from it. A small window (solid square) sits well clear of the DC spectrum and picks up almost none of that bleed, but it also only captures the low-frequency core of the sideband — the coarse shape, not the fine structure. A large window (dash-dot square) reaches out into the higher spatial frequencies where the sideband’s fine detail actually lives, but by then it’s also reaching into the DC spectrum’s tail, dragging noise in with it. There’s no window size that dodges both at once — which is exactly why three separate papers exist to attack the same knob from different angles.
graph TD
classDef holo fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px,color:#000;
classDef fft fill:#f3e5f5,stroke:#8e24aa,stroke-width:2px,color:#000;
classDef problem fill:#ffebee,stroke:#c62828,stroke-width:2px,color:#000;
classDef paper fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#000;
classDef result fill:#fff3e0,stroke:#fb8c00,stroke-width:2px,color:#000;
H["Hologram image<br/>(interference pattern)"]:::holo
F["FFT to<br/>Fourier domain"]:::fft
W["Window one sideband"]:::fft
T{"Window size<br/>trade-off"}:::problem
N["Wide window:<br/>more detail, more DC noise"]:::problem
S["Narrow window:<br/>less noise, less detail"]:::problem
H --> F --> W --> T
T --> N
T --> S
P1["Paper 1 (JCSSE 2024)<br/>Gamma-distribution MODE threshold<br/>for HiVA variance map"]:::paper
P2["Paper 2 (ICCAS 2024)<br/>Kalman filter across N windowed<br/>sidebands, N=80 optimal"]:::paper
P3["Paper 3 (2025)<br/>ADAPTIVE Kalman gain<br/>(attention-rate alpha=0.1)"]:::paper
N -.-> P1
S -.-> P1
N -.-> P2
P2 -.-> P3
R["Denoised 3D profile"]:::result
P1 --> R
P3 --> R
Paper 1 — which threshold is the “right” one? (JCSSE 2024)
“A Study of Noise Reduction Algorithm Using Statistical Optimization in Digital Holographic Microscopy” — my first paper, first author, with Hyun-Woo Kim, Myungjin Cho, and Min-Chul Lee.
The starting point here is HiVA (High-Variance-pixel Averaging), a method that reconstructs the 3D profile from many different window sizes, builds a per-pixel variance map across those reconstructions, and treats high-variance pixels as noise (replaced by the noise-robust averaged profile) and low-variance pixels as real detail (kept from the widest, most detailed window). The open question HiVA never answered convincingly: what threshold separates “high” from “low” variance? The conventional answer was just the mean of the variance map.
The problem is that the log-variance map isn’t bell-shaped — it’s a long-tailed Gamma distribution. For a distribution like that, the mean is a bad summary statistic; it gets dragged around by the tail. So instead we fit the histogram to a Gamma distribution and use its mode as the threshold instead — which sits further toward the low-variance end than the mean does, meaning fewer pixels get classified as “noise” and more of the widest-window detail survives.
graph TD
classDef data fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px,color:#000;
classDef bad fill:#ffebee,stroke:#c62828,stroke-width:2px,color:#000;
classDef good fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#000;
V["Variance map<br/>(long-tailed Gamma distribution)"]:::data
Mean["Mean threshold<br/>(dragged toward the tail)"]:::bad
Mode["Mode threshold<br/>(peak of the fitted Gamma)"]:::good
V --> Mean
V --> Mode
Mean --> R1["More pixels flagged 'noise'<br/>-> fine detail lost"]:::bad
Mode --> R2["Fewer pixels flagged 'noise'<br/>-> fine detail preserved"]:::good
Tested on 15 real red-blood-cell datasets (thin RBC smears, modified Mach-Zehnder interferometer, 532 nm laser, 40× 0.65 NA objective) against unfiltered, Gaussian, NLM, averaging, median, PDA, and conventional HiVA baselines: the mode-threshold version matches PDA’s noise-suppression strength while preserving more fine detail than either PDA or mean-threshold HiVA, and comes out on top on both PSNR and SSIM.
Paper 2 — how many frames does the Kalman filter actually need? (ICCAS 2024)
“Kalman filtering optimization in Digital Holographic Microscopy (DHM)” — Taishi Ono, myself, Hyun-Woo Kim, Myungjin Cho, and Min-Chul Lee (corresponding).
Different angle on the same DC-spectrum problem: instead of averaging or variance-thresholding, treat multiple sideband-windowed 3D profiles as a time series and run them through a Kalman filter to suppress the randomly-generated noise. That part wasn’t new — what was open was a much more practical question: how many windowed profiles do you actually need to feed it? We swept the number of time-series frames from 5 up to 100 and tracked both PSNR and processing time.
PSNR keeps climbing as you add more frames, but the gains flatten out hard once you cross about 90 — right around where the processing-time cost curve overtakes the quality curve. 80 frames turned out to be the practical sweet spot: PSNR went from 120.30 dB (unfiltered) to 120.69 dB with Kalman filtering at that setting, without paying for frames that weren’t buying you anything.
Paper 3 — making that Kalman filter adaptive (2025)
“Adaptive Optimization of Kalman Filtering in Digital Holographic Microscopy for Improved Noise Reduction” — Kosei Nakamura, myself, Myungjin Cho, and Min-Chul Lee.
Paper 2 established the Kalman filter but used fixed filter parameters throughout. The problem: noise characteristics aren’t static across the frequency series, so a fixed-gain filter can’t track them well. The fix was to make the Kalman gain itself adaptive — an attention-rate parameter α that scales the process noise covariance based on the current error magnitude, so the gain decays as the system stabilizes instead of sitting at a fixed value the whole time. We landed on α = 0.1 as the balance point between noise suppression and computational cost.
Reconstructing a microsphere with a known ideal shape gives a clean way to measure this: SNR went from 1.40 dB (unfiltered) to 12.11 dB (the fixed Kalman filter from Paper 2) to 13.83 dB with the adaptive version. Across 20 independent datasets, the adaptive filter was also more consistently good — mean SNR improved (9.90 → 10.54) and the variance across runs nearly halved (6.19 → 3.86), which in practice matters more than a single good run.
graph LR
classDef step fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px,color:#000;
classDef fixed fill:#ffebee,stroke:#c62828,stroke-width:2px,color:#000;
classDef adaptive fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#000;
Predict["Prediction step"]:::step --> Update["Update step"]:::step
Update --> Gain["Kalman gain K"]:::step
Gain --> Fixed["Paper 2: fixed parameters<br/>same behavior all series"]:::fixed
Gain --> Adaptive["Paper 3: gain scaled by<br/>attention-rate alpha=0.1<br/>vs. current error magnitude"]:::adaptive
Adaptive --> Stable["Gain decays as the<br/>system stabilizes"]:::adaptive
The throughline
Three papers, one shared JSPS KAKENHI grant (23K19964) behind the first two, and the same underlying question asked three different ways: how do you tell noise from signal in a DHM reconstruction, and how do you do it without giving up the detail that makes DHM worth using in the first place? Statistical thresholding, then time-series Kalman filtering, then adaptive Kalman filtering — each one is a direct answer to a gap the previous one left open. That’s the kind of pattern that’s obvious in hindsight and invisible while you’re in the middle of it, and it’s part of why I find myself instinctively asking “what’s the actual noise model here” on every new sensing problem I touch since — WiFi CSI included.
References:
- J. Jeong, H.-W. Kim, M. Cho, and M.-C. Lee, “A Study of Noise Reduction Algorithm Using Statistical Optimization in Digital Holographic Microscopy,” 2024 21st International Joint Conference on Computer Science and Software Engineering (JCSSE), pp. 68–73, 2024. DOI: 10.1109/JCSSE61278.2024.10613728
- T. Ono, J. Jeong, H.-W. Kim, M. Cho, and M.-C. Lee, “Kalman filtering optimization in Digital Holographic Microscopy (DHM),” 2024 24th International Conference on Control, Automation and Systems (ICCAS), pp. 786–791, 2024.
- K. Nakamura, J. Jeong, M. Cho, and M.-C. Lee, “Adaptive Optimization of Kalman Filtering in Digital Holographic Microscopy for Improved Noise Reduction,” 2025.
Enjoy Reading This Article?
Here are some more articles you might like to read next: