Skip to content
CV
Index

NanoVision-EM

A Python image-analysis pipeline for graphene micrographs and per-object morphology extraction.

Role
Student researcher, university-funded SRTP
Period
May 2025 – present
Status
Ongoing
Advisor
Prof. Kemal Celebi, ZJUI
Tools
Python · OpenCV · scikit-image · NumPy · PyTorch
Synthetic specimen · the method, not the dataReading the specimen…
A synthetic grey specimen of overlapping flakes, generated for this demonstration

Point at a flake, or focus the specimen and use the arrow keys, to measure it.

1 · Correct

Light falls unevenly across the field. Without this, one threshold catches the darker corner’s background instead of the flakes.

Pixels darker than the line become material. Otsu’s method picks the line that best separates the two peaks.

Touching material pixels join into one flake, then each gets an area, a size and an elongation. Where flakes overlap they merge; the real pipeline separates them with a watershed.

Question

How far can a segmentation model get on graphene micrographs when its training masks come from classical image processing rather than hand annotation?

Approach

  1. Contrast enhancement
  2. Otsu · adaptive threshold
  3. Watershed separation
  4. Pseudo-mask generation
  5. U-Net segmentation
  6. Morphology extraction

Results so far

  • 193 micrographs across 7 experimental batches; 177 retained after quality control.
  • 902 per-object morphology records.
  • 0.58 validation IoU against the heuristic pseudo-masks, not against hand-annotated ground truth.

Limits

  • The model learns the heuristics it was trained on.
  • Hand annotation is still in progress.