このページの本文へ移動

富士通長野システムエンジニアリング

Japan

  1. ホーム >
  2. 製品 & サービス >
  3. [研究開発] >
  4. AVS >
  5. AVS Technical Note - AVS/Express Viz版 animate filename
トップ 製品概要 事例 ソリューション サポート & トレーニング 体験版CD-ROM 動作環境 価格 技術情報/FAQ お問い合わせ お見積もり ダウンロード リンク集

AVS/Express Viz版 animate filename


AVS5IACフリーソフトモジュールに登録されているanimate filenameと同じように、複数のファイルを扱うことのできるモジュールは、残念ながらAVS/Expressでも用意されていません。

しかし、AVS/Expressでは標準提供されている機能を組み合わせることにより、animate filenameモジュールと同等の機能を実現することができます。


文字列の結合

animate filenameモジュールが持つ機能に文字列の結合があります。

AVS/Expressでは、以下のように標準機能を用いることによって文字列の結合を行うことができます。

  1. Application type より ModuleStack を選びます。
  2. Libraries より Standard Objects を選びます。
  3. Parameters より string を選びワークスペースに配置します。
  4. もう一つ string を配置します。(string#1という名称になります)
  5. stringをマウスの左ボタンでダブルクリックして開き、文字列を " (ダブルクォーテーション)で括って入力します。入力をしたらReturn(Enter)キーを押して確定させます。
  6. string#1をマウスの左ボタンでダブルクリックして開き、文字列を入力します。
    この二つの文字列を結合します。
  7. stringをワークスペースに配置します。(string#2という名称になります)
  8. string#2をマウスの左ボタンでダブルクリックして開き、=> string + string#1 と入力してReturn(Enter)キーを押します。

図1 文字列の結合結果

これで string#2 の内容が、string と string#1 を足したものになります。

'=>'は参照をあらわしています。string, string#1の内容を変更すると、それを参照している string#2 の内容も変更されます。

型の変換

animate filenameモジュール機能の実現のためには、数値を文字列型のデータに変換する必要があります。

AVS/Expressでは以下のように型の変換可能なオブジェクト同士を接続すると、型の変換は自動的に行われます。

図2 型変換のネットワーク

変換できない型を'=>'(参照)や'='(割り当て)で接続しようとすると、Error Dialogにより接続できない旨のメッセージが出力されます。

animate filenameの機能構築

これらの機能を組み合わせると、数字を受け取ってそれを含む文字列を出力するネットワークを組むことができます。数字の自動生成にはLoopモジュールを利用することにします。

以下のようなネットワークを組みます。

図3 animate filename機能のネットワーク

これらを一つのマクロモジュールとしてまとめます。

モジュールライブラリStandard Objectsの中のMacrosカテゴリにあるmacroを選択し、ワークスペースに配置します。組んだネットワークを全て選択してmacroに移動させます。

macroの名前を変更します。

macroを選択してマウス左ボタンを押し、"Rename..."を選択します。現れたパネルに"Animate Filename"と入力してOKボタンを押して下さい。

このマクロにデータを入出力するためのポートを作成しておきます。

Animate Filenameマクロをダブルクリックして閉じた後、再度ダブルクリックで開きます。

中に配置してあるモジュールがきちんと収まっていない場合、ワークスペースの背景にマウスポインタを持っていき右ボタンを押します。現れたパネルからArrange Iconsを選択すればAVS/Expressが自動的にモジュールをウインドウに収まるように再配置します。

linkオブジェクトを利用して下図のように線をつなぐことにより、int型のカウンター数とそれに対応する文字列用のポートを作成します。

図4 Animate Filenameマクロモジュール

出力用ポートを作成したらマクロを閉じておきます。

次に、作成したAnimate Filenameマクロを保存しておきます。

Animate Filenameを選択している状態で、プルダウンメニューよりObject -> Save Objects... を選びファイル名を入力します。

次回からは、AVS/Expressを起動したあとマクロの読み込み先のカテゴリーを選択し、プルダウンメニューよりObject -> Read Objects... を選びマクロの読み込みを行います。

作業用のプロジェクトを作成してマクロをモジュールライブラリLibrary WorkspacesのWorkspace1カテゴリに加えた状態でプロジェクトを保存しておいてもよいでしょう。次回からはプロジェクトを指定して起動すれば、Workspace1にマクロが読み込まれていることになります。

作成したマクロの実行

では、実際に使ってみましょう。

図5のようなネットワークを作成して動作を確認して下さい。

図5 ネットワーク

ただし、デフォルトの設定では orthosliceモジュールのplane、Write Imageモジュールのfilenameにデータを渡すことができません。

Write Imageモジュールを例にしてデフォルトの設定を変更する方法を説明します。

  1. Write Imageモジュールをマウス左ボタンでクリックし選択状態にします。
  2. Write Imageモジュール上にマウスポインターを持ってゆきマウスの右ボタンを押します。
  3. 現れたパネルより"Object Editor..."を選択します。
  4. Object Editorウインドウより"filename = ?"を選択します。
    "Display input port"にチェックを入れ"Connection=<"の項目は空白にしてReturn(Enter)キーを押して確定させます。

Object Editor設定前

拡大イメージ

Object Editor設定後

拡大イメージ

  1. Object Editorウインドウをクローズします。
  2. 入力ポートを表示させるためにモジュールの再描画を行います。
    Write Imageモジュールをマウスの左ボタンでダブルクリックして開いた後、モジュールのタイトル名が表示されている部分を再度ダブルクリックしてモジュールを閉じます。

以上の操作でファイル名を入力するためのポートが現れます。

同様に、orthosliceモジュールのplaneについてもポートを作成します。

以下のパラメーターについてはデフォルトから変更してください。

  • Output FieldのパラメーターDynamicをオンにします。
  • Output Fieldのパラメーターflipをオンにします。

stringでディレクトリの指定として"/"(スラッシュ) を用いていますが、これはUNIX版AVS/Expressでの表記方法です。Windows版AVS/Expressでは "\"(バックスラッシュ)を2つ続けて表記してください。

LoopモジュールのStart Value, End Value, Incrementを指定し、Loopモジュールを動作させるとstringで指定されたパスにイメージファイルが出力されます。

まとめ

AVS5ではフリーソフトを利用しなければならなかった機能が、AVS/Express では自作できるようになりました。これは、AVS/Expressが可視化アプリケーションの開発環境ツールとしての機能を持っているからです。

AVS/Express Vizでは開発機能について制限が設けられていますが、intやfloat,stringなどのブリミティブに対して論理演算、AVS/Expressビルトイン関数が使えます。

簡単な機能を持つモジュールならば、標準モジュールの組み合わせと、これらの機能を利用することにより作成することが可能です。(ビルトイン関数などの詳細は、英文Developer's Reference第2章を参照下さい)

実際にこうした機能を利用してLoopモジュールをカスタマイズし、LoopとAnimate Filenameの機能を持ったモジュール画像へのリンクを作成してみました。

このモジュールのVファイルをダウンロードすることが可能です。

興味のある方はお試し下さい。

Download

anim file
入出力用連続ファイル名出力モジュール

anim fileモジュールはマクロ機能を用い、AVS/Express Vizの標準提供オブジェクトのみで構築したマクロモジュールです。

パラメーターFilename base、Filename suffixとマクロ内部にあるLoopモジュールから出力されるカウンタ値から連続したファイル名を生成し、出力ポートから文字列として出力します。

Summary

Name anim file
Type data input
Input なし
Output filename string
count float
Parameters Name Type Default
Run Loop toggle --
Reset oneshot --
Cycle Loop toggle --
Start Value typein 0
End Value typein 100
Increment typein 1
Loop count typein 0
decimal position slider 0
Filename base typein test
Filename suffix typein x
integer decimal precision slider 0
Filename typein test0.x
PATH typein " "
Directory oneshot --

Description

anim fileモジュールは、連続したファイル名を生成します。

出力される文字列は以下の形式になります。

"Filename base"###."Filename suffix"

###の部分には数字が入ります。この桁数はスライダ decimal positionで指定できます。値は0から始まり、Loopのカウント値が更新されると1インクリメントされた値が出力されます。

利用手順

  1. このページよりマクロの定義をおこなっているVファイル(anim_file.v)をダウンロードします。
  2. AVS/Express Viz を起動し、ライブラリ-->ワークスペース を選択します。マクロを読み込むワークスペースを選択した後、プルダウンメニューよりオブジェクト-->オブジェクト読み込み を選択します。
  3. 現れたファイルブラウザからダウンロードしたVファイルを読み込みます。

このマクロは、中の仕組みが見えないように属性を設定しています。マクロの仕組みを調べたい方はダウンロードしたVファイルの一行目を以下のように修正してください。

修正前:NEopenable=0

修正後:NEopenable=1

Interface

入力
なし
出力
filename 生成したファイル名を連続的に出力します。
count ループのカウント値 Loop countが変更されたら1インクリメントした数値を出力します。
パラメーター
Run Loop ループ実行ボタンです。
オンの場合は、ループが開始されます。ループ終了時にCycle Loopがオンの場合には、そのままループは継続されます。ループ中にオフにすると、ループは終了します。
Reset Loop ループ初期化ボタンです。
オンの場合は、Loop countが初期化されます。
Cycle Loop ループ繰り返しボタンです。
Run Loopがオンの間、ループが継続されます。
Start Value ループの初期値です。
End Value ループの最終値です。
Increment ループの加算値です。
Loop count ループのカウント値です。
decimal position ループの最小有効桁数です。
AVS/Express Viz に用意されている Loop モジュールは小数第2位までしか入力できません。このスライダーは小数有効桁数を9桁まで指定することができます。
Filename base 基準となるファイル名です。
Filename suffix ファイル名の拡張子です
integer decimal precision ファイル名の中でカウントさせる数字の桁数です。
Filename 出力ファイル名が表示されます。
PATH ファイルを出力するディレクトリを指定します。
Directory ディレクトリを指定するブラウザを表示させるためのボタンです。

Examples

1) ファイル読み込み例

2) ファイル書出し例


AVS Support Center, fns-avssup@cs.jp.fujitsu.com