Accelerating Research through Code.
데이터 자동화, 광학 시뮬레이션, 그리고 이미지 분석.
NIST 표준 기반
엔트로피 검증
50+ 파일 자동 병합
데이터 처리 효율화
OpenCV 기반
입자 자동 측정
실시간 광학 시뮬레이터
웹 기반 TMM 엔진
2024 | Python, Google Colab | Security Analysis of Materials
하드웨어 보안 기술인 PUF(Physical Unclonable Function)의 성능 검증을 위해, 소재 미세구조 이미지(SEM)가 가지는 고유한 난수성(Entropy)을 정량적으로 평가.
✓ 기존 도구(SP 800-22) 에러 해결 → 최신 표준(SP 800-90B) 도입
✓ 10회 반복 테스트로 재현성 검증 완료
✓ 재료 고유 패턴 기반 보안 키 생성 가능성 입증
# NIST SP 800-90B Implementation
from PIL import Image
import numpy as np
from collections import Counter
import math
def min_entropy_test(image_path):
image = Image.open(image_path).convert('L')
data = np.array(image).flatten()
# Calculate Min-Entropy
p_max = max(Counter(data).values()) / len(data)
min_entropy = -math.log2(p_max)
return min_entropy
def chi_square_test(data):
observed = Counter(data)
expected = len(data) / len(observed)
chi_sq = sum((obs - expected)**2 / expected
for obs in observed.values())
return chi_sq
# Reproducibility Test (10 iterations)
for i in range(10):
entropy = min_entropy_test(image_path)
print(f"Iteration {i+1}: {entropy:.4f}")Python • NIST SP 800-90B2024 - 2025 | RSoft (DiffractMOD), Python (Pandas)
Smart Glass 및 Radiative Cooling 소재의 광학적 거동을 예측하기 위해 RSoft 시뮬레이션을 수행하고, 수십 개의 결과 데이터(DAT 파일)를 효율적으로 처리.
✓ 50+ 시뮬레이션 파일 수작업 처리 → 완전 자동화
✓ 데이터 병합 시간 대폭 절약 (수 시간 → 수 분)
✓ 광학 소재 연구 효율성 향상
# RSoft Data Automation Pipeline
import os
import re
import pandas as pd
def extract_number(filename):
"""Extract parameter from filename"""
match = re.search(r'(\d+)_m6_absorption\.dat',
filename)
return int(match.group(1)) if match else -1
# Load and merge 50+ simulation files
path = '/simulation_results'
files = [f for f in os.listdir(path)
if f.endswith('.dat')]
files.sort(key=extract_number)
all_data = pd.DataFrame()
for file in files:
data = pd.read_csv(f'{path}/{file}',
skiprows=2, header=None)
num = extract_number(file)
all_data[f'Param_{num}'] = data.iloc[:, 0]
# Export to Excel
all_data.to_excel('merged_results.xlsx')Python • Pandas • RegEx2024 | Python (OpenCV), Matplotlib
수작업으로 측정하기 힘든 수천 개의 미세 입자(Cs₄PbBr₆ 등) 크기 분포를 OpenCV를 활용하여 자동으로 측정하고 통계 데이터 확보.
✓ 수천 개 입자 수작업 측정 불가능 → 자동 정량 분석
✓ Cs₄PbBr₆ 입자 평균 크기 온도별 비교 데이터 확보
✓ 통계 기반 연구 신뢰도 향상
# SEM Image Particle Analysis
import cv2
import numpy as np
from matplotlib import pyplot as plt
# Load and preprocess SEM image
image = cv2.imread('sem_image.tif', 0)
_, thresh = cv2.threshold(image, 127, 255,
cv2.THRESH_BINARY)
# Morphological operations
kernel = np.ones((3,3), np.uint8)
opening = cv2.morphologyEx(thresh,
cv2.MORPH_OPEN, kernel)
# Contour detection
contours, _ = cv2.findContours(opening,
cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_SIMPLE)
particle_sizes = []
for cnt in contours:
if cv2.contourArea(cnt) > min_area:
# Fit ellipse and calculate dimensions
ellipse = cv2.fitEllipse(cnt)
major_axis, minor_axis = ellipse[1]
particle_sizes.append(major_axis)
print(f"Analyzed {len(particle_sizes)} particles")
plt.hist(particle_sizes, bins=50)Python • OpenCV • Matplotlib2024 - 2025 | React, TypeScript, Canvas API
Advanced Science 2025 논문에서 제안된 Ag/TiO₂ 다층 박막 구조의 광학적 특성을 웹 브라우저에서 실시간으로 시뮬레이션하고 시각화하는 인터랙티브 도구 개발.
연구자들이 실험 전에 다양한 구조 조합을 빠르게 테스트할 수 있도록 지원.
✓ 고가의 시뮬레이션 소프트웨어 없이 웹에서 즉시 실행 가능
✓ 연구자/학생들이 광학 원리를 시각적으로 학습할 수 있는 교육 도구로 활용
✓ 실험 전 다양한 구조 조합을 신속하게 탐색하여 연구 효율성 향상
// Transfer Matrix Method in React
const calculateTMM = (layers, wavelength) => {
let M = [[1, 0], [0, 1]]; // Identity matrix
const n_air = 1.0;
layers.forEach(layer => {
const { material, thickness } = layer;
const n = getRefractiveIndex(material, wavelength);
// Phase shift
const delta = (2 * Math.PI * n * thickness) / wavelength;
// Characteristic matrix
const cos_d = Math.cos(delta);
const sin_d = Math.sin(delta);
const M_layer = [
[cos_d, sin_d / n],
[n * sin_d, cos_d]
];
M = matrixMultiply(M, M_layer);
});
// Calculate reflectance
const r = calculateReflection(M, n_air, n_substrate);
return Math.pow(Math.abs(r), 2) * 100;
};React • TypeScript • Canvas💡 Live Demo: 아래에서 직접 파라미터를 조절하며 광학 특성 변화를 실시간으로 확인할 수 있습니다.
연구 성과를 정적인 PDF나 PPT가 아닌 인터랙티브 웹 애플리케이션으로 구현하여 포트폴리오의 접근성과 시각적 전달력을 강화.
✓ 연구 성과를 비전공자도 쉽게 이해할 수 있도록 시각화
✓ 웹 개발 역량 입증을 통한 연구+개발 융합 인재 포지셔닝
✓ 취업/입학 지원 시 차별화된 포트폴리오로 활용
Interactive Portfolio Homepage