JASONのパワーを拡張する(その2) :MATLABとRによる外部コマンド処理

前回のブログでは、JASONの外部コマンド処理としてpythonを使用し、NMR処理過程のどのポイントでもデータに対して操作を実行できることを説明しました。これは、例えば新しいデータ処理のアプローチを開発するユーザーにとっては、非常に強力でかつ柔軟なツールとなります。 しかし、もしあなたのお気に入りのプログラミング言語がpythonでなかったら?JASONの外部コマンド処理機能は、HDF5フォーマットのデータを読むことができるすべての外部プログラムやスクリプトにデータを送ることができます。これには、最新のプログラミング言語の大半(そしてそうでないものも!)が含まれます。 このブログでは、MATLABとRスクリプトの両方をJASONから呼び出し、前のブログで説明したのと同じ操作を実行する方法を紹介します。MATLABはネイティブでHDF5ファイルの読み書きをサポートしていますが、Rは追加のライブラリをインストールする必要があります。このブログで紹介する例では、rhdf5ライブラリを使用します。 MATLABスクリプトは、前回説明したinvert.py pythonスクリプトと概念的に非常に似ています。MATLABファイルはデータに適用される関数を実装しています。MATLABはすでにinvert()と呼ばれる関数を持っているので、誤って間違った関数を呼び出さないように、この関数に別の名前、この場合はinvertspec()を付けます。h5read()関数とh5write()関数は、HDF5ファイルからデータを読み書きします: 前のブログ記事のpythonスクリプトのように、データセットのサイズを変更しないので、元のデータを変更後のデータに置き換えるだけです。 JASONからこのスクリプトを呼び出すのは簡単です。外部コマンドの処理項目を処理リストに追加し、いくつかのオプションを設定するだけです。MATLABの場合、コマンドは単に "matlab "で、引数は以下の通りです: -nojvm [...]