2017-09-28 12 views
1

私はDMでスクリプトを作成しており、hdf5ファイル形式を読みたいと思っています。DMでhdf5形式のファイルに格納された文字列を読む方法

私はTore Niermannのgms_HDF5_Plug-In(hdf5_GMS2X_amd64.dll)とCMD_import_hdf5.sスクリプトを借りました。イメージデータセットを読み込むためにh5_read_dataset(filename、datapath)を使用します。

私は、同じファイルに格納されている文字列情報を読み取る方法を理解しようとしています。この図に示すように、文字列に格納されている角度を読み取ることに特に関心があります。 Demonstrated string to read。 h5_read_dataset(filename、datapath)関数は、文字列を読み込むためには機能しません。

機能のリストを含むヘルプファイル(hdf5_plugin.chm)がありますが、残念ながら詳細情報を表示するために開くことができません。 hdf5_plugin.chm showing the function list

文字列を読み込む正しい関数は、h5_read_attr()やh5_info()のようなものでなければならないと思いますが、それらをテストしませんでした。 DMは、常に2つの機能が存在しないと言います。

文字列で角度を読み取った後、文字列を2倍のデータ型に変換するには少し助けが必要です。

ありがとうございます。

答えて

0

文字列を数値に変換Val()コマンドを使用して行われます。 DMスクリプトの変数には、整数/倍精度浮動小数点の概念はありません。すべてがちょうどnumberです。 (これは数値型を定義することができimages、のために異なっても:。ファイルのInport /タイプdifferntiationをエクスポートするには、他の答えでコマンドをストリーミングtaggroupを使用して行うことができるため。)

スクリプト例:

string numStr = "1.234e-2" 
number num = val(numStr) 
ClearResults() 
Result("\n As string:" + numStr) 
Result("\n As value:" + num) 
Result("\n As value, formatted:" + Format(num,"%3.2f")) 
+0

Val()は私が探しているものです。ファイルインポート/エクスポートの例については、「how-to-convert-ascii-array-image-to-a-single-string」を参照してください。https://stackoverflow.com/questions/39719129/how-to- convert-ascii-array-image-to-a-single-string – Roger

+0

それに似ています。ただし、ファイルからストリームオブジェクトを作成し、タググループオブジェクトを使用して、特定のタググループタイプとして解釈される特定のバイト数を読み込み(または書き出す)ことができます。これが、TagGroupがたくさんの形式のコマンドを持っている理由です。asLong ... asDoubleなど – BmyGuest

0

.chmファイルに関する潜在的な回答:Windowsで.chmファイルをダウンロード(または電子メール)すると、OSは潜在的にdagerouseとして分類されます(実行可能なHTMLコードを含む可能性があるためです)。その結果、これらのファイルはデフォルトでは表示できません。ただし、これらのファイルを右クリックして、ファイルプロパティで「ブロック解除」することができます。

例: enter image description here

+0

あなたは絶対に正しいです。私はそれを解除した後で説明を見ることができます。パーフェクト – Roger

0

私は、これが最も可能性が高いというプラグインに固有の問題ではなく、一般的なDMのスクリプトになると思います。したがって、プラグイン作成者に直接連絡するほうがよいかもしれません。

ファイル形式が分かっている場合は、自分のHDF5ファイルリーダーを「書き換え」することもできます。このためには、DMスクリプト言語の「ストリーミング」コマンドが必要で、バイナリのソースファイルを適切なファイルの場所に参照してください。 F1のヘルプドキュメントでこれに読み取るための出発点は、ここでは次のようになります。

enter image description here

+0

あなたの助けてくれてありがとう、私はプラグインの著者に連絡し、彼は文字列を読むことができる更新されたプラグインを作った。それは本当に役に立ちます。 – Roger

関連する問題