MATLAB を使ったプログラミング技術の向上と、それによる業務の効率化○山本悠太 A)、永田陽子 B)、森野慎一 A) 、日影達夫 B)、鳥居実恵 B)、西村真弓 A)、

林育夫 A)、神野貴昭 A)、樋口公孝 A)、都築賢太郎 A)、伊藤広樹 A)
A)
B)

分析・物質技術支援室

表面分析・形態構造観察技術グループ

分析・物質技術支援室

構造組成分析析・構造解析技術グループ

1. 背景
コンピューターの処理能力の向上や爆発的な普及を背景に、近年では、分析機器の制御装置や記録装置には、コンピューターを使うものがほとんどになっている。そのため、スクリプトにプログラミングをすることが出来れば、制御コンピューターの自動制御や連続運転が可能になり、人間の労力を減らすことが出来る。
また、スクリプトの活用により、記録用コンピューターのデジタルデータの解析の効率化や自動化も可能となる。すなわち、分析機器を管理・操作する業務に就く技術者にとっては、プログラミング能力の向上は、業務効率や技術サービスの質の向上に繋がると考えられる。
MATLAB は、高水準技術計算言語による対話型の環境であり、世界的に研究者や技術者に使われている数値計算ソフトウェア群である。C 言語がベースの機能的な言語を使い、多様な数学関数やデータの取得・解析・可視化ツールをサポートし、他のコンピューター言語との統合も可能であり、GUI(Graphical User Interface)によるアプリケーションの開発環境を備えている。
本研修では、分析・物質技術系の各自のプログラミング技術の向上を目的に、MATLAB の使い方の学習を行った。

2. 研修方法
研修は、2 段階で計画した。
1 段階目は、MATLAB のヘルプを利用した個別の基礎学習とした。MATLAB のヘルプに記載されているMATLAB の使い方から、データの取り扱いや解析・可視化、プログラミング、スクリプトの作成に深く関連する項目を絞り込み、計 94 個ピックアップした。それぞれの項目について、各自で、解説を読み、コマンドの使用例が記載されている場合にはそのコマンドを MATLAB に打ち込み、内容を理解するよう依頼した。項目のリストアップと、それぞれの進捗を把握する目的で、Microsoft Excel で一覧表ファイルを作り、各自に配布し、学習を終えた項目にはチェックを入れ、定期的な進捗報告をお願いした。
基礎学習は、各自のプログラミング技術・知識によって進捗率に差が出ること、および難易度や達成による成長率が異なることが予想できたため、2 段階目に、1 段階目の基礎学習を早期に終えるような、既にコンピュータープログラミングに造詣がある者達を対象とした研修を計画した。各自の持ち場の業務と関連する事柄で、プログラミングにより、業務効率や技術サービスの質の向上に繋がるものを考えるよう依頼した。
そしてその内容を、MATLAB の外部アプリ作成機能上でプログラミングし、実際に機能するアプリケーションとして作成することをお願いした。

3. 結果と考察
基礎学習の進捗は、計画時の予想通り個人差が大きく、研修期間のほぼ全てを基礎学習で終える者と、早期に 2 段階目に入る者とで、おおよそ半分ずつに分かれた。前者については、当人達のこれまでの学修のバックグラウンドが、コンピュータープログラミングとの関連が薄かったため時間がかかったと考えられる。
そのため、こうした研修が、プログラミングの基礎をほぼ初めて学ぶ良い機会となり、向後の成長に繋がると期待できる。後者の、研修の 2 段階目における成果物は以降に示す。成果物は各個人によるものであるた
め、表題後の(カッコ)内にアプリケーションの開発者の名前を示す。

3-1. AFM のデータ解析用トータブルソフトウェアの開発 (都築賢太郎)
AFM(Atomic Force Microscope: 原子間力顕微鏡)は、微小な探針で試料表面を走査し、ナノオーダーの表面形状情報を取得できる分析装置である。Burker 社製 AFM AXS Dimension3100 の管理は、当分析・物質技術系の業務であり、その操作方法の取得は、平成 28、29 年度の分析・物質技術系の系研修のテーマになっている。
AXS Dimension3100 は、オペレートやデータ取得・管理をコンピューターから行っており、取得したデータを解析するソフトウェアは、データ管理コンピューター上にしか存在していないため、データの再解析などの局面において非常に不便である。解析ソフトウェアに含まれる「Section Analysis」は、使いやすさからおそらく最も需要が高いと思われる機能のひとつで、サンプルの任意の場所における断面形状、高さ、幅、角度、粗さを解析できる。測定データをテキストファイルで持ち帰り再解析を行いたい、断面形状をテキストファイルで出力しユーザーが普段使っているソフトでグラフ化、解析を行いたい、といった要望に応えるた
め、この機能の一部を模倣したアプリケーションの開発を試みた。図 1 に、スクリプトの一部と作成した GUIを紹介する。

図 1 AFM 用データ解析アプリケーションの概観

今回は、画像表示した測定データ上の任意の 2 点を指定することで断面ラインを決定、その断面形状を表示し、表示した断面形状の CSV 形式での保存と GUI ウィンドウの画像の保存が可能なアプリケーションを開発した。GUI 上には、測定データを読み込むボタン、測定データ全体を表示するスペース、2 点を指定することで断面ラインを決定するボタン、断面形状を表示するスペース、GUI ウィンドウを画像として保存するボタン、断面形状を CSV ファイルとして保存するためのボタンがそれぞれ存在する。ポイントの指定はマウスを使って行うことが可能で、直感的であり、操作性は良い。開発により、装置の傍のコンピューターでなくても一部のデータ解析が可能になったため、研究におけるユーザーの動線(行動範囲)を効率化したと言える。

3-2. 熱電特性評価装置の計算過程可視化ソフトウェアの開発 (神野貴昭)
ZEM-2(ULVAC 社製)は、熱電特性評価装置であり、試料の電気抵抗とゼーベック係数を測定する分析装置である。この装置は、平成 28 年度より分析・物質技術系で共用装置として管理を行っている。ZEM-2 の測定結果はテキストファイルとして出力されるが、すぐにグラフ化できるようなデータにはなっていない。専用の解析ソフトによるグラフ化は可能であるが、計算過程は省かれており、最終的な結果しか表示されない。
最終結果のみを鵜呑みにすると、測定原理のブラックボックス化や、予期せぬノイズ等によるデータの誤解釈などが懸念される。そこで、ZEM-2 が出力する結果ファイルから、グラフ化までの計算過程を可視化できるアプリケーションの開発を試みた。図 2 に、スクリプトの一部と作成した GUI を紹介する。

図 2 熱電特性評価の計算プロセス可視化アプリケーションの概観「File」メニューより ZEM-2 の測定結果ファイルを読み込むと、GUI の左側に電気抵抗とゼーベック係数の温度依存性グラフが表示される。電気抵抗は、測定結果の一部を抜き出して、そのまま表示するだけで良いが、ゼーベック係数については、測定結果を一次式でフィッティングして、傾きを算出する必要がある。
右側のグラフはそのフィッティングを確認するためのものであり、左隣のリストで選択した測定温度での結果を確認できる。グラフ右隣のリストには、各温度でのフィッティングより求めた係数が表示される。この傾きがゼーベック係数に相当するが、この値には測定プローブ分のゼーベック係数も含まれているため、それを差し引く必要がある。ゼーベック係数のグラフ右側のチェックボックスを ON にすると、グラフが測定プローブ分差引後のデータに切り替わり、差し引き前のデータと比較することができる。
データの解析過程を確認できるという点において、専用解析ソフトの機能を補うことができ、価値のあるアプリケーションを開発することができた。このアプリケーションの開発により、装置および測定原理に対するユーザーの理解度が高まることが期待される。

3-3. 微粒子 STEM シミュレーションソフトの機能追加 (山本悠太)
KINE-HAADF(Kinematic HAADF-STEM image simulation)は、York 大学の Yuan 教授のグループによって開発された、動力学的に HAADF-STEM(High Angle Annular Dark Field Scanning Transmission Electron Microscopy)像をシミュレーションする計算方法であり、その計算を行うソフトウェアである[1]。文献 1 では、微粒子の原子分解能 HAADF-STEM 像のシミュレーション結果も報告されている。表示されたシミュレーション像は、ファイル名を付けて独立の外部画像ファイルとして出力が可能であるが、像を表示する角度の指定、保存ボタンのクリック、およびファイル名の命名は、毎回手作業で行う必要がある。山本は、名古屋大学の薩摩グループから、一定ステップ毎に回転させた微粒子のシミュレーション像のデータベースを作りたいと要望をもらった。しかし、既往の KINE-HAADF で実行するには、あまりにも人的労力を要するため実践的でないと考えた。そこで、Yuan 教授のグループに、MATLAB で作成したコードの提供をお願いし、コードに手を加え、自動回転＆保存機能の追加を試みた。
図 3 に、機能を追加した KINE-HAADF の GUI を示す。GUI 上では、左下にボタンが追加されただけに見えるが、予め像回転の角度ステップ、画像ファイルの保存先フォルダ、および出力ファイル名のヘッダーを指定した上でボタンを押せば、指定したフォルダに、指定したヘッダーの後ろに回転角が付いた文字列をファイル名とした画像ファイルが、自動で保存できるようになった。回転と保存は、極めて汎用的な性能のデスクトップパソコン上で、仮に 3 軸をそれぞれ 1°ステップで 90°ずつ回転させ、70 万以上のシミュレーシ
ョン＆保存の動作をさせたとしても、1～2 日で完了できる程度の早さで実行可能である。開発により、初期設定以外は全自動でのデータベース作成が可能になり、人的資源活用の効率化に繋がった。

図 3 機能を追加した KINE-HAADF の概観

3-4. 金微粒子触媒のツインの有無を識別する畳み込みニューラルネットワークの開発 (山本悠太)
金微粒子触媒は、その粒径に対応した固有の触媒活性を示すことが報告されている[2]。一方で、結晶構造が活性に影響を与える例も報告されており[3][4][5]、金微粒子の結晶構造の評価は、触媒のスクリーニングにおいて、ひとつの重要な因子である。結晶構造の識別は、人間の手によってひとつひとつ評価すれば時間はかかるが可能そうに思えるが、研究の上では、統計的な確かさを担保するために、一つの触媒合成条件ごとに数百個の微粒子の構造評価が求められ、一つの実験系で数千個以上の評価が必要になるため、実践的にはかなりの労力が必要となってしまう。また、人間の目と頭脳だけで判断した結晶構造が、正答であると保証できるサイエンティフィックな根拠もない。そこで、AI(Artificial Intelligence: 人工知能)による結晶構造の自動識別が可能な、畳み込みニューラルネットワークの開発を試みた。
本 3-4 章の内容は、欧文誌 Microscopy に論文として掲載されており、かつ 2018 年第 67 巻 6 号において、Editor’s Choice に選ばれており、ウェブ上でフリーアクセスが可能である。そのため詳細はそちら(https://academic.oup.com/jmicro/article/67/6/321/5074544?searchresult=1)を参照していただきたい。また本章の研究は、名古屋大学の武藤俊介教授、田中信夫名誉教授、薩摩篤教授、薩摩グループ修了生服部美月様、および熊本大学の大山順也准教授と共同で行った。

4. まとめMATLAB の使い方の学習を通して、コンピュータープログラミングの基礎を習得した。もしくは、既に基礎が出来ていた者は、MATLAB の外部アプリケーション開発機能を使い、プログラミングでアプリケーションを開発して、業務に役立てた。

謝辞
本研修の機会を頂きました、工学部技術部の関係者の方々には、お礼申し上げます。また、3-4 におきまして、KINE-HAADF の MATLAB コードをご提供いただいた York 大学の Yuan 教授およびそのグループの方々、金微粒子触媒のモデル[6]をご提供いただいた名古屋大学の沢邊恭一講師には、改めて御礼申し上げます。

参考文献[1] D.S.He, Z.Y.Li, J.Yuan, Micron 74 (2015) 47-53.
[2] M. Haruta, N. Yamada, T. Kobayashi, S. Iijima. J. Catal. 115 (1989) 301–309.
[3] D. A. H. Conningham, W. Vogel, R. M. T. Sanchez, K. Tanaka, M. Haruta. J. Catal. 183 (1999) 24–31.
[4] A. D. Pandey, R. Guttel, M. Leoni, F. Schuth, C. Weidenthaler. J. Phys. Chem. C 114 (2010) 19386–19394.
[5] J. Ohyama, T. Koketsu, Y. Yamamoto, S. Arai, A. Satsuma, Chem. Commun. 51 (2015) 15823–15826.
[6] K. Sawabe, T. Koketsu, J. Ohyama, A. Satsuma, Catalysis, 7 (2017) 191.