はじめに
初投稿です。化学系出身なので、間違い等があるかと思いますが、ご指摘いただければ幸いです。
スクリプトは私のGithubにアップしていますので、自由に使用・改良してください。今回はコンセプトの紹介なので、コードは掲載していません。
目次
- 背景
- 目的
- 方法
- 結果
- 今後の予定
背景
化学の世界では、化合物の着色を真っ黒な活性炭 (Activated Carbon: AC)で除去することがあります。一般的な手順は以下のとおりです。
- 着色した化合物、AC、溶媒を容器に加えて撹拌する。このとき、化合物は溶媒に溶け、ACは溶けずに溶液は真っ黒な懸濁液である。
- 濾紙と漏斗を用いて上記の懸濁液を濾過し、ACを除去する。
- 濾液を濃縮や再結晶し、固体の化合物を得る。
このとき、最後に取得した化合物にACが混じり、せっかく脱色したものが台無しになることがあります。実験室レベルのような小さなスケールなら、やり直しが効きますが、工場スケールではそうはいきません。やり直しに原料も人員も必要となり、コストと時間が増加し、結果として利益は減少、生産スケジュールにも影響します。
お察しの通り、工場スケールでACが混じるトラブルに直面し、製造法を検討することとなりました。
しかしながら、固体中に混じっているACがどの程度含まれているかは、見た目だけでは比較ができません。そこで、以下の方法を考案しました。
- 取得した化合物を溶媒で溶解させる。
- 製造で使用する濾紙よりも孔径が小さいもので濾過する。
- その濾紙上の黒さで比較する。
これで様々な条件で検討しようとしましたが、その濾紙上の黒さも定性的であり、微妙な違いが判断しづらいという問題がありました。
目的
濾紙上にあるAC (黒さ)を定量化すること
方法
- 濾紙をプリンターなどでスキャンし、濾紙の画像を取得する (画像取り込みの再現性が高いプリンターを採用)。
- pythonのOpenCVを用いて、画像を取り扱う。
- 濾紙上の黒ピクセル数と濾紙の面積の割合から、定量する。
幸いにも、pythonを習得していたため、上記のような発想にすぐに至りました。OpenCVの取り扱い経験があったため、スクリプトの作成は1日ほどで完了しました。
結果
ある濾紙の画像と、その定量値を以下に示します。目視での感覚と一致しているのではないでしょうか?
さらに、再現性についても調査しました。ある濾紙のスキャンを6回繰り返したところ、定量値の変動係数が3.6%となり、再現性があると判断しました。この方法論の信頼性を示すデータと考えています。
項目 | 定量値 |
---|---|
n=1 | 8.32 |
n=2 | 8.18 |
n=3 | 7.47 |
n=4 | 7.75 |
n=5 | 7.80 |
n=6 | 8.02 |
平均 | 7.92 |
標準偏差 | 0.28 |
変動係数 | 3.6% |
これを用いて、実際の検討を行いましたが、スクリプトが完成してすぐに、製造に使う濾紙の孔径を細かくする解決策をとりました (至極当たり前ですが)。
今後の予定
スクリプトはあまり活躍しませんでしたが、OpenCVの勉強にもなり、定性から定量するプログラミングのパワーを実感できたのは大きな成果でした。
最後まで読んでいただき、ありがとうございました。