image profile 측정
이미지를 y축 방향으로 전체 높이의 1/10 간격 구간으로 나누고, 구간마다 평균한 x방향 Contrast profile을 보여준다
.MPY 공유 · MyDataScience
데이터를 모으고, 분석하고, 측정하고, 반복 작업을 자동화하는 코드 — MyDataScience 의 My Python 에서 만든 것을 .mpy 파일 하나로 올립니다. 다른 사람이 자기 데이터·장비에 써보고 👍💡🤩 로 알려 줍니다. SDSL도 이 .mpy 공유의 참여자 중 하나입니다.
여기 올라오는 것
MyDataScience는 이 네 단계를 직접 만들어 보며 배우는 도구입니다. 한 단계만 담은 코드도, 네 단계를 모두 잇는 코드도 환영합니다.
이미지를 y축 방향으로 전체 높이의 1/10 간격 구간으로 나누고, 구간마다 평균한 x방향 Contrast profile을 보여준다
100년 인생을 5,200칸(1주 = 1칸)으로 펼쳐 놓고, 지금 내가 어디쯤 와 있는지와 남은 시간을 보여 주는 도구입니다.
이미지의 밝기 변화 경계를 검출하고 원본·경계 지도·중첩 이미지를 비교한다


흩어진 나무 조각을 끌고 돌리고 뒤집어 원래 도형으로 맞추는 10단계 퍼즐 게임



처음이라면 이걸로 시작해 보세요 — 받아서 실행해 보고, 고쳐서 내 분석으로 다시 올리면 됩니다
def valid_range(values: np.ndarray, threshold: float) -> tuple[int, int] | None:
idx = np.where(values > threshold)[0]
if idx.size == 0:
return None
return int(idx[0]), int(idx[-1])
def aligned_difference(meas: pd.Series, ref: pd.Series, threshold: float) -> np.ndarray:측정 데이터와 기준(Reference) 파일을 유효 구간·중앙값으로 맞춘 뒤 차이를 구한다
numpy · pandas · matplotlib · 76줄
⬇ 받아서 써보기def parse_row_count(text: str, fallback: int) -> int:
try:
n = int(str(text).strip())
except ValueError:
return fallback
return n if n > 0 else fallbackdef pixel_columns(df: pd.DataFrame, prefix: str) -> list[str]:
cols = [c for c in df.columns if str(c).startswith(prefix) and str(c)[len(prefix):].isdigit()]
return sorted(cols, key=lambda c: int(str(c)[len(prefix):]))
def sum_pixels_by_row(df: pd.DataFrame, prefix: str) -> pd.DataFrame:
dff = df.copy()
cols = pixel_columns(dff, prefix)Pixel0~PixelN 형태의 분광 데이터를 행(측정)마다 합산해 신호 세기 추이를 그린다
matplotlib · pandas · 52줄
⬇ 받아서 써보기def apply_plot_style() -> None:
try:
plt.style.use('seaborn-v0_8-whitegrid')
except OSError:
plt.style.use('seaborn-whitegrid')
plt.rcParams['font.family'] = 'Malgun Gothic'영상 센서의 DN(Digital Number)별 픽셀 수를 로그 스케일과 역누적 곡선으로 분석한다
matplotlib · pandas · 65줄
⬇ 받아서 써보기def preprocess(y: pd.Series, detrend: str, window: str) -> tuple[np.ndarray, float]:
arr = pd.to_numeric(y, errors='coerce').dropna().to_numpy(dtype=float)
if arr.size < 2:
return arr, 1.0
if detrend == '선형추세 제거':
x = np.arange(arr.size, dtype=float)신호 컬럼의 진폭 스펙트럼을 창 함수와 추세 제거를 골라 계산하고 상위 피크를 찾는다
matplotlib · numpy · pandas · 97줄
⬇ 받아서 써보기def dominant_period(series: pd.Series) -> float | None:
s = pd.to_numeric(series, errors='coerce').dropna()
if len(s) < 4:
return None
normalized = (s - s.mean()) / (s.std() + 1e-10)
power = np.abs(np.fft.rfft(normalized.to_numpy())) ** 2아직 아무도 올리지 않은 주제 — 계측·자동화부터 생활·학습까지, 하나를 골라 만들어 올리면 그 주제의 첫 번째가 됩니다 · ★ 특히 기다리는 주제