Portfolio

NanoPol

実験の測定を自動化するWindows向けデスクトップアプリケーションです。

機能

  • ステッピングモータによる回転ステージを接続して、1/4波長板を操作できるようになる予定です。
  • カメラを接続して、画像や映像の撮影が出入るようになる予定です。
  • 1/4波長板とカメラを操作して、自動で測定ができるようになる予定です。

動作環境

接続機器機種名
ステージコントローラOptoSigma GSC-01 (RS232C接続)
カメラThorlabs DCC1645C (USB接続)
回転ステージOptoSigma OSMS-60YAW (ステージコントローラと接続)

Gallery

アプリケーションを起動して最初に表示される画面のモックです。カメラやステッピングモーターで駆動するステージを接続するための画面です。Tooltipでアイコンの説明が表示されています。
アプリケーションを起動して最初に表示される画面のモックです。カメラやステッピングモーターで駆動するステージを接続するための画面です。Tooltipでアイコンの説明が表示されています。
カメラやステッピングモーターで駆動するステージが接続されている画面のモックです。
カメラやステッピングモーターで駆動するステージが接続されている画面のモックです。
手動で測定装置を操作する画面のモックです。左側で装置を操作し、右側にカメラの画像が映し出される予定です。
手動で測定装置を操作する画面のモックです。左側で装置を操作し、右側にカメラの画像が映し出される予定です。
手動で測定装置を操作する画面のモックです。装置を操作すると、上部にToastが表示されます。ログが下側に表示されています。この画像から、ライトモードになっています。
手動で測定装置を操作する画面のモックです。装置を操作すると、上部にToastが表示されます。ログが下側に表示されています。この画像から、ライトモードになっています。
手動で測定装置を操作する画面のモックです。最大化されたログが表示されています。ログは、内容によって色分けされています。
手動で測定装置を操作する画面のモックです。最大化されたログが表示されています。ログは、内容によって色分けされています。
設定画面のモックです。
設定画面のモックです。

開発

開発期間: 開発中 2025年12月4日 –

使用言語:
Python(バックエンド), TypeScript(フロントエンド)

使用ライブラリ等:
Tauri, NumPy, SciPy, PySerial, OpenCV, PyuEye, tifffile, Pandas, FastAPI, Pydantic, Uvicorn, React, zod, React plotly.js, shadcn/ui

使用ツール:
uv, pnpm, Git

使用サービス:
GitHub

開発経緯:
従来測定では手作業で1/4波長板をホルダーから取り出し、手動で角度を変えて1枚1枚写真を撮影していました。 これを自動的に行うことができれば、実験の精度や効率が飛躍的に上がると考えました。

技術選定理由等:
macOSでWindows向けデスクトップアプリケーションを開発するために、マルチプラットフォーム対応のフレームワークを使用しました。 また、UIをリッチに仕上げるために、Web技術を適用できるフレームワークを用いることにしました。 その中で、OS標準のブラウザを使用することでアプリケーションのサイズを抑えられるTauriをフレームワークとして使用することに決めました。 さらに、Pythonのパッケージ管理ツールをpipからuvに変更する事で、Pythonのバージョン管理や仮想環境作成にpyenvやpyenv-virtualenvが不要になりました。