On this page | |
Since | 17.5 |
概要 ¶
このノードは、画像を制御するImageMagickライブラリの関数をコールするワークアイテムを生成します。 Operation パラメータで、画像の編集または合成を行なう色々なビルトインメソッドを選択します。
このノードを使用するには、まずはシステム上にImageMagickがインストールされている 必要があります 。
Note
ImageMagick v7以降を使用することを推奨します。
Tipsとメモ ¶
-
このノードは、 オペレーションにモンタージュまたはコンポジットを選択した時でさえも 入力の各ワークアイテムの出力結果ファイルのリストに対して、指定したオペレーションを実行します。
モンタージュまたはコンポジットしたいファイルを表現した入力ワークアイテムが複数ある場合(例えば、File Patternを使って複数のファイルからワークアイテムを生成してから、それらのファイルを画像モザイクに結合したい場合)、このノードの前にWait for Allノードを挿入することで、それらのワークアイテムを1個のワークアイテムに結合することができます。
-
画像のサイズ変更/変換を行なう時に 、ファイルを表現した入力ワークアイテムが複数ある場合、デフォルト(Wait for Allノードなし)だと、このノードはそれらのオペレーションを並列で実行します。しかし、バッチを有効にして1つのプロセスですべてのファイルを変換した方が 非常に 高速です。こうすることで、ファイル毎に別々のスケジューリングと実行によるオーバーヘッドを回避することができます。
-
モンタージュ(画像モザイク)は、すべての入力画像が同じサイズの時に非常に上手く動作します。2個のImageMagickノードを繋げれば、片方のノードですべての入力画像を同じサイズに変更し、もう片方のノードでモンタージュを作成することができます。
-
独自のコマンドラインを記述することで、ImageMagickオプションのフルセットにアクセスすることができます。例えば、背景の黒を透明にオーバーレイ(
-background 'rgba(0,0,0,0)'
)したり、サイズ変更する際に使用するピクセルフィルターを変更することができます。
インストール ¶
このノードを使用するには、(Mac/Windowsなら)ウェブサイトから、(Linuxなら)パッケージマネージャを使ってImageMagickソフトウェアをインストールしてください。
Note
ImageMagick v7以降を使用することを推奨します。
-
ワークアイテムが実行する各マシンに手動でImageMagickをインストールしてください (ローカルスケジューラを使用する場合、そのローカルマシンにImageMagickをインストールしてください。レンダーファームを使用する場合、ファーム上のすべてのホストマシンにImageMagickをインストールしてください)。
-
ワークアイテムは、そのImageMagick実行ファイルを見つけることができなければなりません。
-
imagemagick
実行ファイルは、リモートユーザのコマンドパスから見えるようにしてください。または
-
PDG_IMAGEMAGICK
環境変数を定義することができます。ここには、ImageMagick実行ファイルのパスを含めてください。または
-
PDG_IMAGEMAGICK_DIR
環境変数を定義することができます。ここには、ImageMagick実行ファイルが配置されているフォルダのパスを含めてください。 この変数は、ImageMagickのインストール場所にサブコマンド(montage
、convert
など)毎に別々に実行ファイルを配置している場合にPDG_IMAGEMAGICK
の代わりに使用してください。または
-
ImageMagick Path パラメータに手動で実行ファイルのパスを入力することができます。
-
Tip
$HH/help/files/pdg_examples/top_imagemanipulation
のサンプルでは、このノードを使ってImageMagickユーティリティで画像を編集するワークアイテムを作成する方法を説明しています。
TOP Attributes ¶
|
integer |
実行されるImageMagickオペレーション( |
|
integer |
選択されているバッチモード。 |
|
integer |
選択されている Cook Batch When 設定。 |
|
integer |
選択されている Sort Input Files By 設定。 |
|
integer |
選択されている Input Source 設定。 |
|
string |
オペレーションで使用する入力ファイル(s)のファイルタグ。 |
|
string |
オペレーションの入力ファイルのファイルパス。 |
|
integer |
|
|
string |
|
|
integer |
選択されているオーバーレイモード。 |
|
string |
モンタージュの入力画像毎のラベルが入ったアトリビュート配列の名前。 |
|
string |
選択されているコンポジットオペレーション。 |
|
integer |
|
|
string |
|
|
integer |
|
|
integer |
|
|
integer |
|
|
integer |
画像のサイズを変更する時にアスペクト比を維持するかどうか。 |
|
integer |
|
|
integer |
|
|
integer |
ImageMagickバイナリを見つけるための選択されている方法。 |
|
string |
ImageMagick Binary が Custom Path に設定されている場合のImageMagickバイナリのファイルパス。 |
|
file |
オペレーションから生じた出力ファイル。 |
|
string |
このノードがパラメータ設定に基づいて構築したImageMagick引数。 |
|
integer |
ワークアイテムジョブがユーザ指定のカスタム引数を使用するかどうかを示します。 |
|
string |
Custom ImageMagick Arguments フィールドが有効になっている時にImageMagickコマンドの構築に使用されるユーザ指定のカスタム引数。 |
パラメータ ¶
Node ¶
Generate When
このノードがワークアイテムを生成するタイミングを決めます。 このノードがどの生成モードを必須にしているのか、もしくは、ワークアイテムを動的に生成させる必要があるのかどうか分からないのであれば、通常では、これを“Automatic”のままに設定してください。
All Upstream Items are Generated
このノードは、すべての入力ノードが自身のワークアイテムを生成した時にワークアイテムを生成します。
All Upstream Items are Cooked
このノードは、すべての入力ノードが自身のワークアイテムをクックした時にワークアイテムを生成します。
Each Upstream Item is Cooked
このノードは、入力ノード内のワークアイテムがクックされる度にワークアイテムを生成します。
Automatic
入力ノードの生成モードに基づいて生成モードが選択されます。 入力ノードのどれかがその入力のクック時にワークアイテムが生成されている場合、このノードには Each Upstream Item is Cooked が設定されます。 そうでない場合、 All Upstream Items are Generated が設定されます。
Cache Mode
ワークアイテムから目的のファイル結果がレポートされるように、プロセッサノードがそのワークアイテムを制御する方法を決めます。
Automatic
目的の結果ファイルがディスク上に存在すれば、そのワークアイテムはスケジュールに組まれずにクック済みとマークされます。 そのファイルが 存在しなければ 、そのワークアイテムは通常どおりにスケジュールに組まれます。 上流のワークアイテムの依存関係がクック中に新しいファイルを書き出す場合、このノード内のワークアイテムのキャッシュファイルもout-of-date(古い)としてマークされます。
Automatic (Ignore Upstream)
Automatic と同様ですが、上流のファイルの書き込みは、このノード内のワークアイテムのキャッシュファイルを 無効にしません 。 そして、このノードは自身のワークアイテムの出力ファイルのみをチェックします。
Read Files
目的の結果ファイルがディスク上に存在すれば、そのワークアイテムはスケジュールに組まれずにクック済みとマークされます。 そのファイルが存在しなければ、そのワークアイテムは失敗とマークされます。
Write Files
目的の結果ファイルがディスク上に存在していても、ワークアイテムが常にスケジュールに組まれ、その目的の結果ファイルを無視します。
Cook Type
このノード内のワークアイテムをクックする方法を決めます。 例えば、ワークアイテムをIn-Process、Out-of-Processのどちらでクックするのか、または、サービスを使用してクックするのか決めます。
Run on Service Block
Determines whether or not work items in this node should run on the parent service block, if one exists.
Always
Always run work items on the block’s service, regardless of any other service settings on this node.
Match
Only run work items on the block’s service if Service Name matches the service name that’s used by the block.
Never
Never run work items on the block’s service.
Service Name
Cook Type を Service に設定した場合、このパラメータを使用して、そのサービスの名前を指定します。 サービスの使用方法の詳細は、PDG Service Managerのドキュメントを参照してください。
Batch Mode
生成されるワークアイテムのバッチモードを決めます。
Off
バッチを実行しません。各ワークアイテムは、それぞれ個々のジョブとして投入されます。
All Items in One Batch
すべてのワークアイテムが単一バッチジョブとして投入され、単一python
セッションで実行されます。
これは(画像フォルダに対してファイル変換を実行するといった)画像の一括処理に役立ちます。
Cook Batch When
ワークアイテムのバッチをスケジュールに組むタイミングを決めます。
All Items are Ready
バッチ内のすべてのワークアイテムのすべての依存関係が満たされた時にのみ、バッチのスケジュールが組まれます。
First Item is Ready
最初のワークアイテムの依存関係の準備が整ったら即座にバッチのスケジュールが組まれます。 ImageMagickジョブスクリプトはジョブが実行されるとバッチ内の各ワークアイテムをクックする前にPDGと通信をして、その依存関係の状態をチェックします。 これは、若干ネットワークのオーバーヘッドを伴い、ジョブとPDGの間で継続的な通信が必要になります。
Input Source
入力ソースを指定します。
Upstream Output Files
File Tag パラメータで指定されたタグを持った上流ワークアイテムの出力ファイルを入力に設定します。
Custom File Path
File Path パラメータで指定されたファイルパスを入力に設定します。
File Tag
入力ソースのファイルタグを指定します。
このパラメータは、 Input Source が Upstream Output Files に設定されている場合にのみ利用可能です。
File Path
入力ファイルパスを指定します。
このパラメータは、 Input Source が Custom File Path に設定されている場合にのみ利用可能です。
Output File Path
出力のファイルパスを指定します。
File Tag
出力のファイルタグを指定します。
Operation
使用するImageMagickオペレーション(convert
, composite
, montage
, compare
, import
, conjure
)を選択します。
Sort Input Files By
入力ファイルをソートする方法を選択します。
None
入力ファイルに対してソートしません。
Natural Filename
入力ファイル名に基づいた自然順を使用します。
Mode
mode 引数の値を指定します。
Overlay
モンタージュ内の各画像のオーバーレイテキストとして使用する内容を選択します。
None
オーバーレイを使用しません。
Input Filename
モンタージュ内の各画像にソースファイル名がオーバーレイされます。
Attribute Array
このオプションでは、プロシージャルテキストをモンタージュ内の各画像のオーバーレイとして使用することができます。 このオプションを選択する時は、必ず Attribute Array Name アトリビュートを設定してください。
Attribute Array Name
このパラメータの値には、ラベルの配列を含んだ文字列アトリビュートの名前を設定してください。 文字列アトリビュート内のエントリーの数は必ず入力の数と同じでなければなりません。
Composite Operation
ImageMagickコンポジットオペレーションを選択します。
Background
-background
引数を指定します。
Width
-resize
引数の幅コンポーネントを指定します。
Height
-resize
引数の高さコンポーネントを指定します。
Preserve Aspect Ratio
Preserve Aspect Ratio を有効にすると、ImageMagickは入力画像(s)のアスペクト比を維持します。 これを無効にすると、画像(s)の元のアスペクト比を維持せずに Width と Height の値が使用されます。
Image Quality Percentage
-quality
引数を指定します。
Extra Arguments
このマルチパラメータを使用することで、実行されるImageMagickコマンドラインにさらに追加される引数を指定することができます。
Argument Name
追加引数の名前を指定します。
Argument Source
追加引数のソースを選択します。
Attribute Name
この引数には、 Attribute Name パラメータで指定された名前のアトリビュートの値が設定されます。
Custom Value
この引数には、 Argument Value パラメータで指定されたカスタム値が設定されます。
Attribute Name
Argument Source が Attribute Name に設定されている時、使用するアトリビュートの名前は、このパラメータを使って指定されます。
Argument Value
Argument Source が Custom Value に設定されている時、引数の値は、このパラメータを使って指定されます。
ImageMagick Binary
ジョブマシン上のImageMagickバイナリを検索するメソッドを選択します。
System Path
ImageMagickはシステムパスに存在するものと想定して呼び出されます。
$PDG_IMAGEMAGICK_DIR
ImageMagickはPDG_IMAGEMAGICK_DIR
環境変数の値を使って検索されるので、その環境変数がジョブのマシン上に設定されている必要があります。
この環境変数の値には、ImageMagick実行可能ファイルが配置されているディレクトリを設定してください。
このメソッドは、サブコマンド(montage
, convert
など)別に実行可能ファイルが分かれているImageMagickがインストールされているマシンで役に立ちます。
$PDG_IMAGEMAGICK
ImageMagickはPDG_IMAGEMAGICK
環境変数の値を使って検索されるので、その環境変数がジョブのマシン上に設定されている必要があります。
この環境変数の値には、magick
実行可能ファイルのファイルパスを設定してください。
サブコマンド別に実行可能ファイルが分かれているImageMagickがインストールされている場合は、代わりにPDG_IMAGEMAGICK_DIR
オプションを使用してください。
Custom Path
ImageMagickは Imagemagick Binary Path パラメータで指定されているファイルパスを使って呼び出されます。
ImageMagick Binary Path
ImageMagick Binary が Custom Path に設定されている時、これを使用してImageMagick実行可能ファイルのパスを指定してください。
Custom ImageMagick Arguments
このパラメータを使用することで、実行したい完全独自のコマンドラインを構築することができます。
このパラメータを有効にすると、このノードで自動的に構築された引数セットの代わりに、ここで指定した独自の引数セットを使用してImageMagickがコールされます。
これらの引数はImageMagickサブコマンドの後に続けてください。
例えば、独自のmagick montage
コマンドを実行するには、このパラメータを介して、magick montage
の後に続くすべての引数を指定してください。
Schedulers ¶
TOP Scheduler Override
このパラメータは、このノードのTOPスケジューラを上書きします。
Schedule When
有効にすると、このパラメータを使用して、このノードのどのワークアイテムをスケジュールに組むのかを決めるエクスプレッションを指定することができます。 そのエクスプレッションが指定されたワークアイテムに対して0を返すと、そのワークアイテムはスケジューラに組まれずに、即座にクック済みとしてマークされます。 そのエクスプレッションが0以外の値を返すと、そのワークアイテムは従来どおりにスケジュールに組まれます。
Work Item Label
このノードがワークアイテムにどのようにラベルを付けるのかを決めます。 このパラメータによって、固有でないラベル文字列をワークアイテムに割り当てることができ、そのラベルを使用してアトリビュートパネル、タスクバー、スケジューラジョブ名のワークアイテムを区別することができます。
Use Default Label
このノード内のワークアイテムは、TOPネットワークからデフォルトのラベルを使用します。 デフォルトが設定されていない場合は、それらのワークアイテムにはラベルは付きません。
Inherit From Upstream Item
ワークアイテムは親ワークアイテムのラベルを継承します。
Custom Expression
ワークアイテム毎に評価される Label Expression カスタムエクスプレッションをワークアイテムのラベルに設定します。
Node Defines Label
ワークアイテムのラベルをこのノードの内部ロジックで定義します。
Label Expression
有効にすると、このパラメータを使用して、このノードで作成されたワークアイテムに独自のラベルを指定することができます。
このパラメータには、ワークアイテムアトリビュートの参照またはビルトインのプロパティを含めたエクスプレッションを使用することができます。
例えば、$OS: @pdg_frame
は、フレーム値に基づいて各ワークアイテムのラベルを設定します。
Work Item Priority
このパラメータは、現行スケジューラがこのノード内のワークアイテムの優先度を設定する方法を決めます。
Inherit From Upstream Item
ワークアイテムは、親ワークアイテムの優先度を継承します。ワークアイテムに親ワークアイテムがなければ、その優先度は0に設定されます。
Custom Expression
ワークアイテムの優先度は、 Priority Expression の値に設定されます。
Node Defines Priority
ワークアイテムの優先度は、このノード自身の内部優先度計算に基づいて設定されます。
このオプションは、 Python Processor TOP, ROP Fetch TOP, ROP Output TOPのノードでのみ利用可能です。 これらのノードは、各自のノードロジックで実装された優先度設定スキームを定義しています。
Priority Expression
このパラメータには、ワークアイテムの優先度を設定するためのエクスプレッションを指定します。 このエクスプレッションは、ノード内のワークアイム毎に評価されます。
このパラメータは、 Work Item Priority が Custom Expression に設定されている場合にのみ利用可能です。
Examples ¶
example_top_imagemagick Example for ImageMagick TOP node
このサンプルでは、Image Magickノードを使って、画像からサムネイル一覧画像(モンタージュ)を生成したり、画像変換する方法を説明しています。