Houdini 18.0 ノード TOPノード

ImageMagick TOP node

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

On this page

概要

このノードを使用するには、ImageMagickをインストールしてください。

このノードは、画像を制御するImageMagickライブラリの関数をコールするワークアイテムを生成します。 Operation パラメータで、画像の編集または合成を行なう色々なビルトインメソッドを選択します。

Tipsとメモ

  • このノードは、 オペレーションにモンタージュまたはコンポジットを選択した時でさえも 入力の各ワークアイテムの出力結果ファイルのリストに対して、指定したオペレーションを実行します。

    モンタージュまたはコンポジットしたいファイルを表現した入力ワークアイテムが複数ある場合(例えば、File Patternを使って複数のファイルからワークアイテムを生成してから、それらのファイルを画像モザイクに結合したい場合)、このノードの前にWait for Allノードを挿入することで、それらのワークアイテムを1個のワークアイテムに結合することができます。

  • 画像のサイズ変更/変換を行なう時に 、ファイルを表現した入力ワークアイテムが複数ある場合、デフォルト(Wait for Allノードなし)だと、このノードはそれらのオペレーションを並列で実行します。しかし、(ImageMagickノードの前にWait for Allノードを配置して)1つのプロセスですべてのファイルを変換した方が 非常に 高速です。こうすることで、ファイル毎に別々のスケジューリングと実行によるオーバーヘッドを回避することができます。

  • モンタージュ(画像モザイク)は、すべての入力画像が同じサイズの時に非常に上手く動作します。2個のImageMagickノードを繋げれば、片方のノードですべての入力画像を同じサイズに変更し、もう片方のノードでモンタージュを作成することができます。

  • モンタージュのオペレーションには、セル毎にエクスプレッションの結果をオーバーレイするためのオプションがあります。これを使用すればWedgeノードによって色々な設定をオーバーレイできるのでは思うかもしれませんが、このノードはまず最初に個々のファイルを表現したワークアイテムを結合する必要があるので、それらのWedgeアトリビュートは消えてしまいます。回避策は、このノードでワークアイテムを結合する前に、ROP Composite Outputを使って、それぞれの入力画像のWedge設定を別々にオーバーレイすることです。

  • 独自のコマンドラインを記述することで、ImageMagickオプションのフルセットにアクセスすることができます。例えば、背景の黒を透明にオーバーレイ(-background 'rgba(0,0,0,0)')したり、サイズ変更する際に使用するピクセルフィルターを変更することができます。

インストール

このノードを使用するには、(Mac/Windowsなら)ウェブサイトから、(Linuxなら)パッケージマネージャを使ってImageMagickソフトウェアをインストールしてください。

  • ワークアイテムが実行する各マシンに手動でImageMagickをインストールしてください (ローカルスケジューラを使用する場合、そのローカルマシンにImageMagickをインストールしてください。レンダーファームを使用する場合、ファーム上のすべてのホストマシンにImageMagickをインストールしてください)。

  • ワークアイテムは、そのImageMagick実行ファイルを見つけることができなければなりません。

    • imagemagick実行ファイルは、リモートユーザのコマンドパスから見えるようにしてください。

      または

    • PDG_IMAGEMAGICK環境変数を定義することができます。ここには、imagemagick実行ファイルのパスを含めてください。

      または

    • PDG_IMAGEMAGICK_DIR環境変数を定義することができます。ここには、ImageMagick実行ファイルが配置されているフォルダのパスを含めてください。 この変数は、ImageMagickのインストール場所にサブコマンド(montageconvertなど)毎に別々に実行ファイルを配置している場合にPDG_IMAGEMAGICKの代わりに使用してください。

      または

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

TOP Attributes

operation

string

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

outputtag

string

Result Dataのファイルタグ

overridebin

integer

このノードがimagemagickbinアトリビュートにimagemagick実行ファイルのパスを明示的に指定するかどうか。

imagemagickbin

string

imagemagick実行ファイルのファイルパス。これは、overridebin1に設定されている場合にのみ使用されます。

usecustomcommand

integer

このノードがcustomcommandアトリビュートの独自のコマンドラインを実行するかどうか。

customcommand

string

実行する独自のコマンドライン。これは、usecustomcommand1に設定されている場合にのみ使用されます。

output

string

montagecompositeのオペレーション用: 出力画像を指定します。

overlaymode

integer

montageオペレーション用: モンタージュに追加するオーバーレイのタイプ(0=オーバーレイなし, 1=ファイル名, 2=カスタムエクスプレッション)。

overlayexpr

string

montageオペレーション用: 画像のオーバーレイを評価するエクスプレッションを指定します。これは、overlaymode2に設定されている場合にのみ使用されます。

ordermethod

integer

montageオペレーション用: ブロック内の画像の並べ方(0=インデックス順, 1=ファイル名順)。

inputimages

string

出力の生成に使用する画像のリスト。

updateresolution

integer

convertオペレーション用: これを1に設定すると、imgwidthimgheightのアトリビュートで指定された値が画像解像度に設定されます。

imgwidth

integer

convertオペレーション用: 新しい画像幅を指定します。これは、updateresolution1に設定されている場合にのみ使用されます。

imgheight

integer

convertオペレーション用: 新しい画像高さを指定します。これは、updateresolution1に設定されている場合にのみ使用されます。

preservear

integer

convertオペレーション用: これを1に設定すると、オリジナル画像のアスペクト比を維持してimgwidthimgheightのアトリビュート値を調整します。

imgquality

integer

convertオペレーション用: 出力画像の画像品質(1-100)。これは、JPEGなどの特定のファイルフォーマットの出力ドライバで使用されます。

outputimages

string

convertオペレーション用: 出力画像ファイルパスのリスト。

compositeop

string

compositeオペレーション用: ImageMagickコンポジットオペレーション名(overylay, softlight, multiply)。

パラメータ

Node

Operation

このノードが入力画像を制御する方法。オペレーション毎にパラメータが異なります。

Montage

画像をサムネイルサイズに縮小し、それらのサムネイルを矩形グリッド内に並べます。 これによって、一度に複数の画像を一覧化することができます。 一般的には、このような画像のことを モザイク と呼びますが、ImageMagic用語ではモンタージュと呼びます。

Convert

画像を色々なフォーマットに変換したり、サイズを変更します。

Composite

複数の画像を上に合成します。これは、類似画像を比較するのにも役立ちます。

Montage

Order By

入力の画像を出力画像グリッド内に並べる順番(左から右、上から下)。 ワークアイテムのindexアトリビュートまたは入力画像のファイル名の順番で並べることができます。

Overlay

このノードは、画像グリッドの各"セル"上にテキストをオーバーレイすることができます。 例えばレンダリング結果を比較する際に、画像ファイル名をオーバーレイすれば、元の画像ファイルが見つけやすくなります。 Wedgeさせた設定をオーバーレイさせる方法に関しては、Tipsとメモのセクションを参照してください。

None

セル上にテキストをオーバーレイしません。

Filename

セル上に画像ファイル名をオーバーレイします。

Custom Expression

エクスプレッションの出力をオーバーレイします。

Expression

Overlay Mode が"Custom Expression"の時、このエクスプレッションが評価されて、セル上にその結果がオーバーレイされます。

Convert

Width

出力画像(s)の幅。

Height

出力画像(s)の高さ。

Preserve Aspect Ratio

これを有効にすると、ImageMagickは、指定した幅と高さの範囲内でアスペクト比を維持しつつオリジナル画像のサイズを変更します(空っぽの空間が残ってしまう可能性があります)。 これを無効にすると、ImageMagickは、指定した幅と高さの通りのサイズで画像を 伸縮 させます。

Image Quality

JPEGファイルを出力する時に使用する画像品質。

Output Filename

出力ファイル名。 このファイル名に{attributename}文字列を埋め込むと、このノードはその文字列を画像毎に適切な値に置換します。 他にも{inputfilename}文字列を使用すれば、ファイル変換時にその文字列が ベースファイル名 (拡張子なし)に置換されます。

Split Results into New Tasks

入力のワークアイテムを変換する際に複数の結果が出力される場合(例えば、このノードの前にWait for Allノードを配置して、すべての画像を一括で変換する場合)、これを有効にすることで、出力ファイル毎に別々のワークアイテムに分けることができます。

Composite

Composite Operation

入力の画像をコンポジットする方法。

Overlay

前の画像の上に、その画像が表示されるようにアルファ透明度を使って画像をコピーします。

Soft Light

明るいピクセルを明るく、暗いピクセルを暗くしつつ、ピクセル間のグラデーションを滑らかにします。

Multiply

各画像のピクセル値で既存ピクセル値を乗算するので、暗いカラーほど画像が暗くなり、白のピクセルは何の影響もありません。 場合によっては、これは差分、テキストのオーバーレイで役立ちます。

Command Line

これを有効にすると、独自のコマンドラインを記述することができます。 コマンドラインの文字列に特定の{キーワード}を埋め込むことで、このノードはその文字列を適切な値に置換します。 このノードのパラメータで用意されていない特別なImageMagickオプションにアクセスできるようにコマンドラインを書き換えることができます。 例えば、サイズ変更時に別のピクセルフィルターを適用したり、別のコンポジットメソッドを使用することができます。

  • {imagemagick}imagemagick実行ファイルのパス。

  • {input_images} – 入力画像の文字列をスペースで区切ったリスト(パラメータに応じて並べられます)。

  • {output_image} – 出力画像のファイルパス。

File Tag

結果ファイルのファイルタグを指定します。

Output Filename

モンタージュ画像とコンポジット画像の出力ファイルパス。 このパスには__PDG_DIR__を基準としたパスを設定します。 中間結果に関しては、この名前に`@pdg_name`エクスプレッションを入れてください。 これは、ワークアイテムの名前を出力ファイル名の一部に入れます。 これによって、そのワークアイテムがTOPネットワークで固有の名前になります。

ImageMagick Path

これを有効にすると、ImageMagick実行ファイルのパスを明示的に指定することができます。上記のインストールを参照してください。

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

    条件を満たした時に警告またはエラーを生成します。

  • Error Handler

    失敗したワークアイテムのエラーハンドル。

  • 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

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

  • 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

    Pythonコマンドサーバーを起動します。

  • 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 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を使ってワークアイテムのスケジュールを組みます。

  • USD Import

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

  • USD Import Files

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

  • USD Render

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

  • Wait for All

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

  • Wedge

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

  • Work Item Expand

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

  • Xml Input

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