Code
Toolbox
Open tools from my own work — optical simulation, imaging pipelines, and AI from training to deployment, published here as each one is ready to be looked at.
Optics
2 projectsDesign, simulation, and metrology tools for optical systems.
camsim — Camera Sensor & ISP SimulationWrite-upFull physical simulation of the camera sensor and ISP — from sensor-plane spectral irradiance → RAW through QE, CFA, IR-cut, shot/read/dark-current/fixed-pattern noise and dual conversion gain (LCG/HCG) → a linear-light ISP → MTF, SNR, ΔE2000 and acutance. Published on PyPI, it is the bridge from photon-level optical simulation to image-quality metrics and downstream machine-vision and ML studies.PythonNumPySciPycolour-scienceSourcePyPI
Slanted-Edge SFRWrite-upSynthetic slanted-edge charts with a known answer — noise, vignetting, distortion, gamma — measured back by an ISO 12233 pipeline: 36 edges per chart, MTF50 and Nyquist metrics, and a validation module that says where recovery fails.PythonNumPySciPyOpenCVSource
AI
2 projectsImaging pipelines, model training, and edge inference where models meet hardware.
cnn-classifier — Config-Driven CNN TrainingWrite-upA config-driven PyTorch toolkit that takes any image/label dataset from typed YAML to a trained, evaluated, and reported classifier — dataset adapters with leakage checks, a model registry, a headless trainer with callbacks/AMP/EMA/checkpointing, calibration and bootstrap evaluation, training diagnostics, and self-contained reports. Exercised end-to-end on CIFAR-10 with a residual CNN and ResNet-18 transfer, and published on PyPI as cnn-classifier-toolkit, it is reusable infrastructure for the next classification project.PythonPyTorchtorchvisionPydanticSourcePyPI
Webcam Smart DetectionWrite-upReal-time webcam detection: YOLO objects and OpenCV faces in the same frame, both publishing an identical result so the render loop never learns which detector drew a box.PythonYOLOv8OpenCVSource
Everything lands on GitHub as it becomes presentable.