Skip to content
View NaNIsaac's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report NaNIsaac

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
NaNIsaac/README.md

Isaac Yong (용이삭)

X-ray physics · Inverse problems · Scientific software
M.S. student in Physics, Sogang University

Portfolio · Research · Notes · Blog · Contact

When X-rays scatter from a crystal or a thin film, a detector records intensities—not a ready-made image of the structure or a list of layer thicknesses. Those have to be worked out from the measurements, and sometimes more than one answer appears plausible.

I build the software for that work: predicting diffraction patterns, fitting X-ray reflectivity curves, reconstructing images, and turning raw beamline data into quantities we can compare. Most of my research code is Python (NumPy, JAX, PyTorch); I also explore C++20/CUDA in QoraPhaseCU.

Selected work

  • TraTT: diffraction while sound enters a crystal. A sound wave can produce extra peaks beside the main Bragg peak. I simulate how those peaks form before the wave has crossed the crystal, using time-dependent Takagi–Taupin equations. Calculated findings · KPS 2026 Fall poster.
  • ReflectoLearn: film structure from X-ray reflection. An X-ray reflectivity curve contains information about film thickness, roughness, and scattering strength. I use a neural-network starting guess and a physics-based fit, then study when that estimate goes wrong or cannot be distinguished from another structure. Findings and limits.
  • QoraPhase: images from diffraction intensities. Diffraction measurements lose the wave's phase. This JAX package iteratively estimates the missing phase and the object that produced the pattern. Synthetic demonstration · Measured-data limitations.
  • QoraFlow: raw detector frames to time traces. At PAL-XFEL, a laser excites the sample and X-rays probe it after different delays. The pipeline groups detector shots by laser state and delay, corrects the images, and tracks changes in a selected diffraction peak. Processing steps · Simulated example.

What has actually been tested

These are recorded calculations and benchmarks with specific limits—not claims that every program has been validated on an experimental sample.

Work Recorded result What this does not prove
TraTT Calculated acoustic-satellite overshoot mapped over 11,211 parameter pairs; selected full Takagi–Taupin checks agree with the reduced model. No comparison to a measured transient dataset.
ReflectoLearn 935 bounded local-fit refinements. Six incorrect parameter regions require at least 10⁴ counts to distinguish from the reference in the studied conditions (5 in test group R2a, 1 in X2e). Does not search every possible solution or establish accuracy on a measured film.
Public XRR counts 100 repeated public scans: median dispersion index 1.34 versus a Poisson benchmark near 1 (draft; not independently verified). One experimental setup; the supported verdict requires a post-pre-check amendment. Under the original exclusion rule there is no verdict; the excess-noise source is unknown.
QoraPhase Synthetic images were reconstructed; on two public coherent-diffraction datasets (CXIDB), the published images were not reproduced. Matching diffraction intensity does not prove the reconstructed image is correct.

Read the evidence and reproduction guide — sources, commands, data-access limits, and the next validation needed for each claim.

Synthetic phase retrieval animation reconstructing the NaNIsaac lettering from simulated diffraction intensity

Not measured data: a simulated diffraction intensity reconstructed with QoraPhase. Reproduce the animation.

Other software I maintain

  • Numerical performance: QoraPhaseCU explores C++20/CUDA phase retrieval; xray.ooguy provides beamline calculators.
  • Scientific figures: qoraplot supplies Matplotlib publication layouts; cvdkit pairs color-vision-aware palettes with markers and line styles.
  • Developer workflows: codigest packages selected code/diffs/terminal output as AI context; herdr-courier is designed to keep agent prompts from interrupting typed human input; hanfix repairs terminal commands typed under the Korean keyboard layout.

Technical notes · Repository index (last audited 2026-10-23)

Recent research and upstream contributions

Research organization

Upstream

Pepper (후추), my black-and-tan Shiba Inu, takes care of the contribution garden.

Pepper harvesting GitHub contributions

Formerly "SJB7777". Renamed to "NaNIsaac" on October 14, 2026, at 00:06:41 KST.

Pinned Loading

  1. QoraFlow QoraFlow Public

    Data processing toolkit for time-resolved X-ray experiments at PAL-XFEL

    Jupyter Notebook 8

  2. codigest codigest Public

    Turn your codebase, diffs and terminal output into LLM-ready context. CLI + MCP server for AI coding agents.

    Rust 1

  3. NaNIsaac-Research/TraTT NaNIsaac-Research/TraTT Public

    Time-dependent dynamical X-ray diffraction (Takagi-Taupin) for transient acoustic Bragg satellites

    Python 1

  4. roi_rectangle roi_rectangle Public

    Rectangular regions of interest (ROI) for images and NumPy arrays

    Python 1

  5. hanfix hanfix Public

    Fix and re-run commands typed with the Korean keyboard layout on (2-set <-> QWERTY)

    Rust

  6. QoraPhase QoraPhase Public

    JAX-native, composable phase retrieval for coherent diffraction imaging (CDI, BCDI)

    Python 1