Houdini 18.5 ノード TOPノード

ImageMagick TOP node

一括で画像変換、サイズ変更、画像モザイクなどのImageMagickの機能に簡単にアクセスすることができます。

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のインストール場所にサブコマンド(montageconvertなど)毎に別々に実行ファイルを配置している場合にPDG_IMAGEMAGICKの代わりに使用してください。

      または

    • ImageMagick Path パラメータに手動で実行ファイルのパスを入力することができます。

Tip

$HH/help/files/pdg_examples/top_imagemanipulationのサンプルでは、このノードを使ってImageMagickユーティリティで画像を編集するワークアイテムを作成する方法を説明しています。

TOP Attributes

operation

integer

実行されるImageMagickオペレーション(convert, composite, montage, compare, import, conjure)。

batchmode

integer

選択されているバッチモード。

cookwhen

integer

選択されている Cook Batch When 設定。

inputsort

integer

選択されている Sort Input Files By 設定。

inputsource

integer

選択されている Input Source 設定。

inputfiletag

string

オペレーションで使用する入力ファイル(s)のファイルタグ

inputfilepath

string

オペレーションの入力ファイルのファイルパス。

enablemode

integer

-mode引数が有効になっているかどうかを示します。

mode

string

-mode引数の値。

overlaymode

integer

選択されているオーバーレイモード。

overlayattribute

string

モンタージュの入力画像毎のラベルが入ったアトリビュート配列の名前。

compositeop

string

選択されているコンポジットオペレーション。

enablebackground

integer

-background引数が有効になっているかどうかを示します。

background

string

-background引数の値。

enableresolution

integer

-resize引数が有効になっているかどうかを示します。

imgwidth

integer

-resize引数の幅コンポーネント。

imgheight

integer

-resize引数の高さコンポーネント。

preservear

integer

画像のサイズを変更する時にアスペクト比を維持するかどうか。

enableimgquality

integer

-quality引数が有効になっているかどうかを示します。

imgquality

integer

-quality引数の値。

imagemagickbinary

integer

ImageMagickバイナリを見つけるための選択されている方法。

customimagemagickbinary

string

ImageMagick BinaryCustom Path に設定されている場合のImageMagickバイナリのファイルパス。

outputfile

file

オペレーションから生じた出力ファイル。

imagemagickarguments

string

このノードがパラメータ設定に基づいて構築したImageMagick引数。

enablecustomarguments

integer

ワークアイテムジョブがユーザ指定のカスタム引数を使用するかどうかを示します。

customarguments

string

Custom ImageMagick Arguments フィールドが有効になっている時にImageMagickコマンドの構築に使用されるユーザ指定のカスタム引数。

パラメータ

Node

Work Items

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

目的の結果ファイルがディスク上に存在していても、ワークアイテムが常にスケジュールに組まれ、その目的の結果ファイルを無視します。

Batch Mode

生成されるワークアイテムのバッチモードを決めます。

Off

バッチを実行しません。各ワークアイテムは、それぞれ個々のジョブとして投入されます。

All Items in One Batch

すべてのワークアイテムが単一バッチジョブとして投入され、単一pythonセッションで実行されます。 これは(画像フォルダに対してファイル変換を実行するといった)画像の一括処理に役立ちます。

Cook Batch When

ワークアイテムのバッチをスケジュールに組むタイミングを決めます。

All Items are Ready

バッチ内のすべてのワークアイテムのすべての依存関係が満たされた時にのみ、バッチのスケジュールが組まれます。

First Item is Ready

最初のワークアイテムの依存関係の準備が整ったら即座にバッチのスケジュールが組まれます。 ImageMagickジョブスクリプトはジョブが実行されるとバッチ内の各ワークアイテムをクックする前にPDGと通信をして、その依存関係の状態をチェックします。 これは、若干ネットワークのオーバーヘッドを伴い、ジョブとPDGの間で継続的な通信が必要になります。

Input

Input Source

入力ソースを指定します。

Upstream Output Files

File Tag パラメータで指定されたタグを持った上流ワークアイテムの出力ファイルを入力に設定します。

Custom File Path

File Path パラメータで指定されたファイルパスを入力に設定します。

File Tag

入力ソースのファイルタグを指定します。

このパラメータは、 Input SourceUpstream Output Files に設定されている時にのみ利用可能です。

File Path

入力ファイルパスを指定します。

このパラメータは、 Input SourceCustom File Path に設定されている時にのみ利用可能です。

Output

Output File Path

出力のファイルパスを指定します。

File Tag

出力のファイルタグを指定します。

Operation

使用するImageMagickオペレーション(convert, composite, montage, compare, import, conjure)を選択します。

Sort Input Files By

入力ファイルをソートする方法を選択します。

None

入力ファイルに対してソートしません。

Natural Filename

入力ファイル名に基づいた自然順を使用します。

Montage

Mode

mode 引数の値を指定します。

Overlay

モンタージュ内の各画像のオーバーレイテキストとして使用する内容を選択します。

None

オーバーレイを使用しません。

Input Filename

モンタージュ内の各画像にソースファイル名がオーバーレイされます。

Attribute Array

このオプションでは、プロシージャルテキストをモンタージュ内の各画像のオーバーレイとして使用することができます。 このオプションを選択する時は、必ず Attribute Array Name アトリビュートを設定してください。

Attribute Array Name

このパラメータの値には、ラベルの配列を含んだ文字列アトリビュートの名前を設定してください。 文字列アトリビュート内のエントリーの数は必ず入力の数と同じでなければなりません。

Composite

Composite Operation

ImageMagickコンポジットオペレーションを選択します。

Options

Background

-background引数を指定します。

Width

-resize引数の幅コンポーネントを指定します。

Height

-resize引数の高さコンポーネントを指定します。

Preserve Aspect Ratio

Preserve Aspect Ratio を有効にすると、ImageMagickは入力画像(s)のアスペクト比を維持します。 これを無効にすると、画像(s)の元のアスペクト比を維持せずに WidthHeight の値が使用されます。

Image Quality Percentage

-quality引数を指定します。

Extra Arguments

このマルチパラメータを使用することで、実行されるImageMagickコマンドラインにさらに追加される引数を指定することができます。

Argument Name

追加引数の名前を指定します。

Argument Source

追加引数のソースを選択します。

Attribute Name

この引数には、 Attribute Name パラメータで指定された名前のアトリビュートの値が設定されます。

Custom Value

この引数には、 Argument Value パラメータで指定されたカスタム値が設定されます。

Attribute Name

Argument SourceAttribute Name に設定されている時、使用するアトリビュートの名前は、このパラメータを使って指定されます。

Argument Value

Argument SourceCustom Value に設定されている時、引数の値は、このパラメータを使って指定されます。

ImageMagick

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 BinaryCustom Path に設定されている時、これを使用してImageMagick実行可能ファイルのパスを指定してください。

Custom ImageMagick Arguments

このパラメータを使用することで、実行したい完全独自のコマンドラインを構築することができます。 このパラメータを有効にすると、このノードで自動的に構築された引数セットの代わりに、ここで指定した独自の引数セットを使用してImageMagickがコールされます。 これらの引数はImageMagickサブコマンドの後に続けてください。 例えば、独自のmagick montageコマンドを実行するには、このパラメータを介して、magick montageの後に続くすべての引数を指定してください。

Schedulers

TOP Scheduler Override

このパラメータは、このノードのTOPスケジューラを上書きします。

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 PriorityCustom Expression に設定されている時にのみ利用可能です。

Examples

example_top_imagemagick Example for ImageMagick TOP node

このサンプルでは、Image Magickノードを使って、画像からサムネイル一覧画像(モンタージュ)を生成したり、画像変換する方法を説明しています。

TOPノード

  • Attribute Array

    ワークアイテム上に配列アトリビュートを作成/変更します。

  • Attribute Copy

    あるブランチのワークアイテムのアトリビュートを他のブランチのワークアイテムにコピーします。

  • Attribute Create

    入力のワークアイテムすべてに対してアトリビュートを作成または設定します。

  • Attribute Delete

    ワークアイテムからアトリビュートを削除します。

  • Attribute Rename

    ワークアイテム上のアトリビュートの名前を変更します。

  • Attribute from String

    ファイル名などの文字列からアトリビュート値を解析します。

  • Block Begin Feedback

    For-Loop with Feedbackブロックを開始します。このブロック内のTOPノードは直列で実行され、オプションで入力のワークアイテム毎にループさせることができます。

  • Block End Feedback

    For-Loop with Feedbackブロックを終了します。このブロック内のTOPノードは直列で実行され、オプションで入力のワークアイテム毎にループさせることができます。

  • CSV Input

    CSVファイルのデータをワークアイテムのアトリビュートにコピーします。

  • CSV Output

    ワークアイテムのアトリビュートをCSVファイルに書き出します。

  • Command Send

    実行させたいコードを共有サーバーに送信します。

  • Command Server End

    サーバーブロックを終了します。

  • Deadline Scheduler

    Thinkbox社のDeadlineソフトウェア用PDGスケジューラ。

  • Download File

    1つ以上のURLからコンテンツをファイルにダウンロードします。

  • Environment Edit

    ワークアイテムのコマンドラインが実行する環境下で設定する変数を編集します。

  • Error

    条件が満たされた時に警告またはエラーを出します。

  • FFmpeg Encode Video

    静止画像シーケンスを動画に変換します。

  • FFmpeg Extract Images

    動画ファイルから静止画像シーケンスを抽出します。

  • File Compress

    ファイルをアーカイブに圧縮します。

  • File Copy

    実行時またはノードがファイルを生成した時に、ファイルをある場所から別の場所にコピーします。

  • File Decompress

    入力のワークアイテムで指定されたアーカイブファイルを個々のファイルに解凍します。

  • File Pattern

    特定のパターンに合致したファイルに基づいてワークアイテムを生成します。

  • File Range

    特定のファイルパターンに基づいたフレーム範囲からワークアイテムを生成します。

  • File Remove

    指定したパスのファイルを削除します。

  • File Rename

    ファイルを名前変更または移動させます。

  • Filter by Expression

    上流のワークアイテムを条件付きでフィルタリングします。

  • Filter by Range

    指定したフレーム内またはアトリビュート範囲内にある上流のワークアイテムを絞り込みます。

  • Filter by State

    上流のワークアイテムをその状態によってフィルタリングします。

  • Generic Generator

    アトリビュートなしでコマンドラインを実行するワークアイテムを生成します。

  • Geometry Import

    SOPまたはジオメトリファイルのポイントまたはプリミティブをワークアイテムアトリビュートまたは一時ファイルに読み込みます。

  • HDA Processor

    デジタルアセットをクックするワークアイテムを生成します。

  • HQueue Scheduler

    HQueueを使用してワークアイテムのスケジュールを組みます。

  • Houdini Server Begin

    持続型Houdiniコマンドサーバーを起動します。

  • ImageMagick

    一括で画像変換、サイズ変更、画像モザイクなどのImageMagickの機能に簡単にアクセスすることができます。

  • In Process Scheduler

    In-Processワークアイテムのスケジューリングを制御します。

  • Invoke

    入力ジオメトリに対してコンパイルブロックを呼び出します。

  • JSON Input

    JSONファイルからデータを抽出してアトリビュートを作成します。

  • JSON Output

    JSON出力を生成する色々なオペレーションを実行します。

  • Local Scheduler

    ローカルマシン上でワークアイテムのスケジュールを組みます。

  • Make Directory

    ディレクトリを作成します。

  • Map All

    上流のすべてのワークアイテムを下流のワークアイテムにマップします。

  • Map by Expression

    エクスプレッションを使って、上流のワークアイテムを下流のワークアイテムにマップします。

  • Map by Index

    上流のワークアイテムをインデックスに基づいて下流のワークアイテムにマップします。

  • Map by Range

    範囲を使って上流のワークアイテムを下流のワークアイテムにマップします。

  • Maya Server Begin

    持続型Mayaコマンドサーバーを起動します。

  • Merge

    上流のすべてのワークアイテムを結合します。

  • Nuke Server Begin

    持続型Nukeコマンドサーバーを開始します。

  • Null

    何もしません。

  • OP Notify

    何かしらのTOPワークが完了したことを通知します。

  • Output

    サブネット出力。

  • Partition by Attribute

    アトリビュートに基づいてワークアイテムを区分けします。

  • Partition by Bounds

    境界アイテムを使って、ソースアイテムを空間的に区分けします。

  • Partition by Combination

    ワークアイテムを2個毎、3個毎などに区分けします。

  • Partition by Comparison

    既存の比較を使ってワークアイテムを区分けします。

  • Partition by Expression

    エクスプレッションに基づいてワークアイテムを区分けします。

  • Partition by Frame

    フレームに基づいてワークアイテムを区分けします。

  • Partition by Index

    インデックスに基づいてワークアイテムを区分けします。

  • Partition by Node

    ノードに基づいてワークアイテムを区分けします。

  • Partition by Range

    範囲に基づいてワークアイテムを区分けします。

  • Partition by Tile

    軸に平行な境界ボックスを使ってワークアイテムを空間的に区分けします。

  • Perforce

    PDG経由でPerforceコマンドを実行します。

  • Python Mapper

    Pythonスクリプトを使ってワークアイテムをマップします。

  • Python Partitioner

    Pythonスクリプトを使ってワークアイテムを区分けします。

  • Python Processor

    Pythonスクリプトを使ってワークアイテムを生成します。

  • Python Scheduler

    Pythonベースでプログラミング可能なPDG用スケジューラ。

  • Python Script

    スクリプトを実行するワークアイテムを生成します。

  • Python Server Begin

  • ROP Alembic Output

    埋め込まれたROP Alembic ROPノードをクックするワークアイテムを生成します。

  • ROP Composite Output

    埋め込まれたComposite ROPノードをクックするワークアイテムを生成します。

  • ROP Fetch

    ROPノードまたはROPネットワークをクックするワークアイテムを生成します。

  • ROP Geometry Output

    埋め込まれたGeometry ROPノードをクックするワークアイテムを生成します。

  • ROP Mantra Render

    埋め込まれたMantra ROPノードをクックするワークアイテムを生成します。

  • ROP USD Output

    組み込まれたUSD ROPノードをクックするワークアイテムを作成します。

  • Range Extend

    上流のワークアイテムのフレーム範囲を広げて、必要に応じて新しいワークアイテムを追加します。

  • Range Generate

    指定した範囲のワークアイテムを生成します。

  • Render IFD

    Mantraを使ってIFDファイルをレンダリングするワークアイテムを生成します。

  • SQL Input

    SQLクエリの作成と行毎にワークアイテムを生成する入力ノードです。

  • SQL Output

    SQL INSERTクエリを生成する出力ノードです。

  • Send Email

    電子メールを送信します。

  • Shotgun Create

    Shotgunエンティティを作成します。

  • Shotgun Delete

    Shotgunからエンティティを削除します。

  • Shotgun Download

    ShotgunからAttachmentをダウンロードします。

  • Shotgun Find

    Shotgunエンティティを検索します。

  • Shotgun Server Begin

    持続型Shotgunコマンドサーバーを起動します。

  • Shotgun Update

    Shotgunエンティティを更新します。

  • Shotgun Upload

    Shotgunにファイルをアップロードします。

  • Sort

    アトリビュートのリストからワークアイテムを並べ替えます。

  • Split

    上流のワークアイテムを2つのグループに分けます。

  • Subnetwork

    TOPノード用コンテナ。

  • Switch

    ネットワーク分岐を切り替えます。

  • TOP Fetch

    他のTOPネットワークをクックします。

  • TOP Fetch Input

    TOP Fetchで取得したネットワークの入力。

  • Text Output

    テキストを新しいファイルに書き出したり、既存ファイルに書き足します。

  • Tractor Scheduler

    PixarのTractorを使ってワークアイテムのスケジュールを組みます。

  • URL Request

    URLからデータを要求するワークアイテムを作成します。

  • USD Import

    USDステージで見つかったPrimsからワークアイテムを生成します。

  • USD Import Files

    USDステージで見つかったファイル参照からワークアイテムを作成します。

  • USD Render

    USDファイルを書き出すワークアイテムを作成します。

  • Wait for All

    上流のワークアイテムすべてが完了するのを待ちます。

  • Wedge

    アトリビュート値を色々と変えながらワークアイテムを生成します。

  • Work Item Expand

    ファイルリストまたはパーティションを複数のワークアイテムに展開します。

  • Xml Input

    XMLファイルからデータをワークアイテムアトリビュートに抽出します。