3D VISION LAB / RESEARCH PORTFOLIO
See every high and low on a surface with a laser profiler
I'm a second-year electrical engineering master's student studying automated optical inspection (AOI). My thesis builds a 3D depth inspection system from a Keyence LJ-X8000 and a three-axis stage. This site records how I go from principles to a working system.
What I'm doing
A 2D image struggles to show small dents and bumps. A laser profiler measures the height at every position directly. I want to walk the whole path once: acquire data, control motion, process the height map, find defects, and make every step reproducible.
More about meThree parts of the research
Sensor data acquisition and output
Read profile data from the LJ-X8020 head through the LJ-X8000A controller, and save it in a reproducible format with Python.
Three-axis control and synchronization
Move the stage as configured and match every profile to its position, so the height map is stitched correctly.
Height maps, point clouds and defect detection
Turn profiles into a height map or point cloud, level and denoise it, then compare against a baseline to find defects.
Two months, four stages
Every stage ends with something I can check. The goal is not to have studied it but to have built it.
- Weeks 1–2
Principles and data acquisition
Continuous profiles saved with noise statistics
- Weeks 3–4
Three-axis control and synchronized scanning
The first complete height map
- Weeks 5–6
Height-map processing and defect detection
Defects marked on a sample with deliberate flaws
- Weeks 7–8
Evaluation, reproducibility and integration
One command from scan to defect report
Small projects on the side
Alongside the thesis, I use two small topics to practice data handling, automation and agent design. The techniques end up in the thesis code.
Investing data project
Fetch public market data, clean it, run a simple backtest and visualize it. It is for practicing data handling and is not investment advice.
Education tool
A small tool that organizes study notes, generates practice questions and tracks progress, for practicing agent design.
Questions
Why a laser profiler instead of a regular camera?
A regular camera records brightness, so height changes can only be inferred. A laser profiler uses laser triangulation to get the height at each position, which suits defects like dents, bumps and scratches.
How do you keep results reproducible?
Pinned package versions, parameters in config files, fixed random seeds, raw data stored separately from results, and every output saved with the parameters used.
What role do AI tools play in development?
I use tools like Claude Code to speed up boilerplate, refactoring and tests. I verify the measurement logic and results myself against real data instead of trusting generated code.
Want to talk or give feedback?
If you work on AOI, laser profilers or Python automation, I'd be glad to hear from you.
Contact me