注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

メディアセットのトランスフォーム API

メディアセットのトランスフォーム API は、Python トランスフォームでメディアセットを加工するためのメソッドを提供します。この API を使用すると、光学文字認識 (OCR) によるテキストの抽出、画像のサイズ変更、ドキュメントから画像への変換など、メディアセットに対するさまざまな操作を実行できます。

スキーマの種類別のメソッド

はじめに

メディアセットのトランスフォーム API を使用するには、以下の例に示すように、メディアセット入力からトランスフォーム機能にアクセスします。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 from transforms.mediasets.inputs import MediaSetInputParam from transforms.api import transform, Output, TransformOutput from transforms.mediasets import MediaSetInput @transform( media_input=MediaSetInput("/path/to/media_set"), dataset_output=Output("/path/to/output") ) def compute(ctx, media_input: MediaSetInputParam, dataset_output: TransformOutput): # MediaSetInputTransform のインスタンスを作成します transform = media_input.transform() # 変換を適用します result = transform.ocr() # 結果を出力に書き込みます dataset_output.write_dataframe(result)

transform()

Copied!
1 def transform(self, deduplicate_by_path=True):

MediaSetInputTransform インスタンスを返します。このクラスを使用すると、メディアセット入力に対するメディア変換で、流暢なメソッドチェーンを利用できます。

パラメーター:

  • deduplicate_by_path (bool, 任意):True の場合、各パスで最も新しい項目のみが含まれます。デフォルトは True です。

戻り値:

  • MediaSetInputTransform:メディアセット変換用のメソッドを提供する、ユーザー向けのクラスです。

例:

Copied!
1 df = media_set.transform().ocr()

MediaSetInputTransform をメディアセット出力に書き込む

メディアセットからメディアセットへの変換では、以下の例に示すように、変換したメディアをメディアセットに書き込みます。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 from transforms.mediasets.inputs import MediaSetInputParam from transforms.mediasets.outputs import MediaSetOutputParam from transforms.api import transform from transforms.mediasets import MediaSetInput, MediaSetOutput @transform( video_input=MediaSetInput( "/path/to/input_media_set" ), multimodal_output=MediaSetOutput( "/path/to/output_media_set" ), ) def compute( ctx, video_input: MediaSetInputParam, multimodal_output: MediaSetOutputParam, ): def output_path_tar(input_path, page=None): return input_path.replace("mp4", "tar") multimodal_output.write( video_input.transform().extract_scene_frames( scene_sensitivity="LESS_SENSITIVE" ), output_path_tar, )

write()

Copied!
1 2 3 4 5 6 7 def write( self, media_transform: MediaSetInputTransform, output_path: Callable[[str, Optional[int]], str] = prefix_path, suppress_errors: bool = False, return_dataframe: bool = False, ) -> Union[str, DataFrame, None]:

MediaSetInputTransform を出力メディアセットに書き込みます。

パラメーター:

  • media_transform (MediaSetInputTransform):メディアセット入力に適用されたメディアセットのトランスフォームです。例:media_transform = img_input.transform().resize()
  • output_path (Callable[[str, Optional[int]], str], 任意):各メディアアイテムの出力パスを決める関数です。元のパスと任意のページ番号を入力として受け取り、新しいパスを返します。デフォルトでは、元のパスの先頭に「transformed」を付加します。1個の入力メディアアイテムから複数の項目を出力するメディア変換では、項目のパスに識別用の値が自動的に追加されます。たとえば、画像に複数の切り抜きを適用する crop 変換では、切り抜きのパラメーター (x_offset, y_offset, width, height) がパスに自動的に含まれます。
  • suppress_errors (bool):エラー処理の動作を指定します。True の場合、エラーが捕捉され、return_dataframe が True であれば、エラーメッセージがデータフレームの media_reference 列に返されます。False の場合、エラーは捕捉されず、ビルドに失敗します。デフォルトは False です。メディアセット全体に対する変換にのみ適用されます。
  • return_dataframe (bool, 任意):メディアセットレベルの変換にのみ適用されます。True の場合、media_item_rid、path、media_reference 列を含むデータフレームを返します。このデータフレームは、出力メディアセットに書き込まれたメディアアイテムを表します。デフォルトは False です。True の場合、メディアセットの変換は遅延評価されます。

戻り値:

  • None、DataFrame、または文字列です。
    • str:個別のメディアアイテムに対する変換に適用されます。変換結果の Media Reference 文字列を返します。
    • None:メディアセット全体に対する変換に適用されます。return_dataframe が False に設定されている場合は None を返します。
    • DataFrame:メディアセット全体に対する変換で、return_dataframe が True に設定されている場合に適用されます。列は media_item_rid、path、media_reference です。

例:

Copied!
1 2 3 4 5 6 7 # メディアセット全体のメディア変換 media_transform = img_input.transform().resize() img_out.write(media_transform) # 個別のメディアアイテムのメディア変換 media_transform = img_input.transform().resize(media_item_rid = "rid1") med_ref_str = img_out.write(media_transform)

API リファレンス

ocr()

OCR を使用して PDF または画像からテキストを抽出し、抽出したテキストを文字列として返します。画像やスキャンしたドキュメントに推奨します。

パラメーター:

  • languages (list[str]):OCR に使用する言語のリストです。デフォルトは英語です。有効なコードはすべて、Tesseract ドキュメント ↗の languages に記載されています。
  • scripts (Optional[list[str]]):OCR に使用する文字体系のリストです。デフォルトは None です。有効なコードはすべて、Tesseract ドキュメント ↗の scripts に記載されています。
  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • start_page (Optional[int]):OCR の開始ページを、0から始まるインデックスで指定します。PDF メディアセットにのみ適用されます。デフォルトは 0(最初のページ)です。
  • end_page (Optional[int]):OCR の終了ページを、0から始まるインデックスで指定します(このページは含みません)。PDF メディアセットにのみ適用されます。デフォルトは None(最後のページ)です。
  • return_structure (str):item_per_row または page_per_row です。PDF メディアセット全体に対する変換にのみ適用されます。デフォルトは item_per_row です。
  • suppress_errors (bool):エラー処理の動作を指定します。True の場合、エラーをキャッチし、エラーメッセージを出力に返します。False の場合、エラーはキャッチされず、ビルドに失敗します。デフォルトは True です。メディアセット全体に対する変換にのみ適用されます。

戻り値:

  • DataFrame、文字列のリスト、または単一の文字列です。
    • str:単一の画像に対する変換です。
    • list[str]:単一の PDF に対する変換です。
    • DataFrame:メディアセット全体に対する変換です。
      • PDF(item_per_row)の場合:列は media_item_rid、path、media_reference、extracted_text (list[str]) です。
      • PDF(page_per_row)または画像セットの場合:列は media_item_rid、path、media_reference、page_number、extracted_text (str) です。

例:

Copied!
1 2 df = media_set.transform().ocr() dataset_output.write_dataframe(df)

extract_raw_text()

PDF から生のテキストを抽出します。電子的に生成されたドキュメントに推奨します。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • start_page (Optional[int]):テキスト抽出の開始ページを、0から始まるインデックスで指定します。デフォルトは0(最初のページ)です。
  • end_page (Optional[int]):テキスト抽出の終了ページを、0から始まるインデックスで指定します(このページは含みません)。デフォルトは None(最後のページ)です。
  • return_structure (str):item_per_row または page_per_row です。PDF メディアセット全体に対する変換にのみ適用されます。デフォルトは item_per_row です。
  • suppress_errors (bool):エラー処理の動作を指定します。True の場合、エラーをキャッチし、エラーメッセージを出力に返します。False の場合、エラーはキャッチされず、ビルドに失敗します。デフォルトは True です。メディアセット全体に対する変換にのみ適用されます。

戻り値:

  • DataFrame または文字列のリストです。
    • str:単一の画像に対する変換に適用されます。
    • list[str]:単一の PDF に対する変換に適用されます。
    • DataFrame:メディアセット全体に対する変換に適用されます。
      • PDF(item_per_row):列は media_item_rid、path、media_reference、extracted_text (list[str]) です。
      • PDF(page_per_row)または画像セット:列は media_item_rid、path、media_reference、page_number、extracted_text (str) です。

例:

Copied!
1 2 df = media_set.transform().extract_raw_text() dataset_output.write_dataframe(df)

resize()

画像を指定したサイズに変更します。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • width (Optional[int]):サイズ変更後の画像の幅です。デフォルトは 1024 です。高さを指定しない場合は、必ず指定してください。
  • height (Optional[int]):サイズ変更後の画像の高さです。デフォルトは 1024 です。幅を指定しない場合は、必ず指定してください。
  • maintain_aspect_ratio (bool):画像の元のアスペクト比を維持するかどうかを指定します。True の場合、アスペクト比を維持しながら、指定したサイズ内に収まるように画像のサイズを変更します。デフォルトは True です。
  • output_format (str):出力画像の形式です。たとえば PNG や JPEG です。デフォルトは PNG です。

戻り値:

  • サイズ変更の変換を含む MediaSetInputTransform のインスタンスです。さらに変換を適用できます。

例:

Copied!
1 2 transform = image_input.transform().resize() image_output.write(transform)

convert_document_to_images()

ドキュメントのページを指定したサイズの画像に変換します。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • start_page (Optional[int]):変換の開始ページを、0から始まるインデックスで指定します。デフォルトは0(最初のページ)です。
  • end_page (Optional[int]):変換の終了ページを、0から始まるインデックスで指定します(このページは含みません)。デフォルトは None(最後のページ)です。
  • width (Optional[int]):出力画像の幅です。デフォルトは1024です。
  • height (Optional[int]):出力画像の高さです。デフォルトは1024です。
  • output_format (str):出力画像の形式です。たとえば PNG や JPEG です。デフォルトは PNG です。

戻り値:

  • ドキュメントから画像への変換を含む MediaSetInputTransform のインスタンスです。さらに変換を適用できます。

例:

Copied!
1 2 transform = pdf_input.transform().convert_document_to_images() image_output.write(transform)

slice_document()

ドキュメントから指定した範囲のページを切り出します。

パラメーター:

  • start_page (int):切り出し操作の開始ページを、0から始まるインデックスで指定します。
  • end_page (int):切り出し操作の終了ページを、0から始まるインデックスで指定します(このページは含みません)。
  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • strictly_enforce_end_page (bool):end_page がドキュメントのページ数を超える場合の動作を指定します。True の場合、エラーが発生します。False の場合、代わりにドキュメントの最後のページを使用します。デフォルトは True です。

戻り値:

  • 切り出しの変換を含む MediaSetInputTransform のインスタンスです。さらに変換を適用できます。

例:

Copied!
1 2 transform = pdf_input.transform().slice_document(0, 5) pdf_output.write(transform)

tile()

画像から Slippy map タイル (EPSG 3857) を生成します。TIFF または NITF 形式の地理情報が埋め込まれた画像のみをサポートし、最大サイズは1億平方ピクセルです。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • zoom (Union[int, Column]):タイルのズームレベルです。非負の整数である必要があります。ズームレベル 0 では、世界全体が1個のタイルに収まります。レベルが1増えるごとに、空間解像度は2倍、タイル数は4倍になります。デフォルトは 0 です。
  • x (Union[int, Column]):指定したズームレベルでのタイルの列インデックスです。西から東に向かって増加します。有効範囲: 0 <= x < 2**zoom。デフォルトは 0 です。
  • y (Union[int, Column]):指定したズームレベルでのタイルの行インデックスです。北から南に向かって増加します。有効範囲: 0 <= y < 2**zoom。デフォルトは 0 です。
  • df (Optional[DataFrame]):列を入力として渡す場合に、結合対象の DataFrame を指定します。タイル化は、入力メディアセットと指定した DataFrame の両方に存在するメディアアイテムにのみ適用されます。on パラメーターとともに指定する必要があります。
  • on (Optional[Literal["media_item_rid", "media_reference"]]):df を指定した場合に、結合に使用する列名です。これにより、正しいメディアアイテムに対してタイル化操作が行われます。
  • output_format (str):出力画像の形式です。たとえば、PNG または JPEG です。デフォルトは PNG です。

戻り値:

  • タイル変換を含む MediaSetInputTransform のインスタンスで、さらに変換を適用できます。

例:

Copied!
1 2 3 4 5 6 7 8 9 10 # input_df の列からタイル化のパラメーターを動的に選択します。 # メディアセットと指定された DataFrame の両方に含まれるメディアアイテムのみをタイル化します。 transform1 = image_input.transform().tile(input_df.zoom, input_df.x, input_df.y, df=input_df, on="media_item_rid") # すべてのタイルが同じパラメーターで生成されます。 # メディアセット内のすべてのメディアアイテムに対してタイルを生成します。 transform2 = image_input.transform().tile(zoom=2, x=1, y=1) # 変換を出力メディアセットに書き込みます image_output.write(transform)

encrypt()

指定した暗号画像キーを使用して、画像の指定したリージョンを暗号化します。

パラメーター:

  • polygons (Union[list[api.Polygon], Column]):暗号化するリージョンをポリゴンとして指定します。
  • cipher_license_rid (Union[str, Column]):暗号化に使用する暗号ライセンスの RID です。
  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • df (Optional[DataFrame]):列を入力として渡す場合に、結合対象の DataFrame を指定します。暗号化は、入力メディアセットと指定した DataFrame の両方に存在するメディアアイテムにのみ適用されます。on パラメーターとともに指定する必要があります。
  • on (Optional[Literal["media_item_rid", "media_reference"]]):df を指定した場合に、結合に使用する列名です。これにより、正しいメディアアイテムに対して暗号化操作が行われます。
  • output_format (str):出力画像の形式です。たとえば、PNG または JPEG です。デフォルトは PNG です。

戻り値:

  • 暗号化変換を含む MediaSetInputTransform のインスタンスで、さらに変換を適用できます。

例:

Copied!
1 2 3 4 polygon = [api.Coordinate(x=10, y=10), api.Coordinate(x=100, y=10), api.Coordinate(x=100, y=100), api.Coordinate(x=10, y=100)] transform = image_input.transform().encrypt([polygon], "cipher_license_rid_123", media_item_rid="rid1") image_output.write(transform)

decrypt()

指定した暗号画像キーを使用して、画像の指定したリージョンを復号します。

パラメーター:

  • polygons (Union[list[api.Polygon], Column]):復号するリージョンをポリゴンのリストとして指定します。
  • cipher_license_rid (Union[str, Column]):復号に使用する暗号ライセンスのリソース識別子です。
  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • df (Optional[DataFrame]):列を入力として渡す場合に、結合対象の DataFrame を指定します。復号は、入力メディアセットと指定した DataFrame の両方に存在するメディアアイテムにのみ適用されます。on パラメーターとともに指定する必要があります。
  • on (Optional[Literal["media_item_rid", "media_reference"]]):df を指定した場合に、結合に使用する列名です。これにより、正しいメディアアイテムに対して復号操作が行われます。
  • output_format (str):出力画像の形式です。たとえば、PNG または JPEG です。デフォルトは PNG です。

戻り値:

  • 復号変換を含む MediaSetInputTransform のインスタンスで、さらに変換を適用できます。

例:

Copied!
1 2 3 4 polygon = [api.Coordinate(x=10, y=10), api.Coordinate(x=100, y=10), api.Coordinate(x=100, y=100), api.Coordinate(x=10, y=100)] transform = image_input.transform().decrypt([polygon], "cipher_license_rid_123", media_item_rid="rid1") image_output.write(transform)

crop()

指定した寸法とオフセットを使用して画像を切り抜きます。

パラメーター:

  • width (Union[int, Column]):切り抜いた画像の幅です。
  • height (Union[int, Column]):切り抜いた画像の高さです。
  • x_offset (Union[int, Column]):切り抜き領域の左上隅の x 座標です。デフォルトは 0 です。
  • y_offset (Union[int, Column]):切り抜き領域の左上隅の y 座標です。デフォルトは 0 です。
  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • df (Optional[DataFrame]):列を入力として渡す場合に、結合対象の DataFrame を指定します。切り抜きは、入力メディアセットと指定した DataFrame の両方に存在するメディアアイテムにのみ適用されます。on パラメーターとともに指定する必要があります。
  • on (Optional[Literal["media_item_rid", "media_reference"]]):df を指定した場合に、結合に使用する列名です。これにより、正しいメディアアイテムに対して切り抜き操作が行われます。
  • output_format (str):出力画像の形式です。たとえば、PNG または JPEG です。デフォルトは PNG です。

戻り値:

  • 切り抜き変換を含む MediaSetInputTransform のインスタンスで、さらに変換を適用できます。

例:

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 # すべてのメディアアイテムが同じパラメーターで切り抜かれます。 # メディアセット内のすべてのメディアアイテムを切り抜きます。 transform = image_input.transform().crop(100, 100, 10, 10) image_output.write(transform) # input_df の列から切り抜きのパラメーターを動的に選択します。 # メディアセットと指定された DataFrame の両方に含まれるメディアアイテムのみを切り抜きます。 transform1 = image_input.transform().crop(input_df.x2 - input_df.x1, input_df.y2 - input_df.y1, input_df.x1, input_df.y1, df=input_df, on="media_item_rid") # 幅と高さは input_df の列から動的に選択されますが、オフセットは固定です。 # メディアセットと指定された DataFrame の両方に含まれるメディアアイテムのみを切り抜きます。 transform2 = image_input.transform().crop(30, 50, input_df.x1, input_df.y1, df=input_df, on="media_item_rid") # すべてのメディアアイテムが同じパラメーターで切り抜かれます。 # メディアセットと指定された DataFrame の両方に含まれるメディアアイテムのみを切り抜きます。 transform3 = image_input.transform().crop(30, 50, 20, 60, df=input_df, on="media_item_rid") # すべてのメディアアイテムが同じパラメーターで切り抜かれます。 # メディアセット内のすべてのメディアアイテムを切り抜きます。 transform4 = image_input.transform().crop(30, 50, 20, 60) # 変換を出力メディアセットに書き込みます image_output.write(transform1)

binarize()

指定したしきい値を使用して画像を二値化します。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • threshold (Optional[int]):しきい値以上の値には 255 が割り当てられ、しきい値未満の値には 0 が割り当てられます。デフォルトでは、入力画像に基づいてしきい値が計算されます。
  • output_format (str):出力画像の形式です。たとえば、PNG または JPEG です。デフォルトは PNG です。

戻り値:

  • 二値化変換を含む MediaSetInputTransform のインスタンスで、さらに変換を適用できます。

例:

Copied!
1 2 transform = image_input.transform().binarize(threshold=150) image_output.write(transform)

rotate()

指定した角度で画像を回転します。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • angle (Literal["DEGREE_90", "DEGREE_180", "DEGREE_270"]):画像を回転する角度です。デフォルトは DEGREE_90 です。
  • output_format (str):出力画像の形式です。たとえば、PNG または JPEG です。デフォルトは PNG です。

戻り値:

  • 回転変換を含む MediaSetInputTransform のインスタンスで、さらに変換を適用できます。

例:

Copied!
1 2 transform = image_input.transform().rotate(angle="DEGREE_180") image_output.write(transform)

grayscale()

画像をグレースケールに変換します。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • output_format (str):出力画像の形式です。たとえば、PNG または JPEG です。デフォルトは PNG です。

戻り値:

  • グレースケール変換を含む MediaSetInputTransform のインスタンスで、さらに変換を適用できます。

例:

Copied!
1 2 transform = image_input.transform().grayscale() image_output.write(transform)

equalize()

グレースケール画像にヒストグラム平坦化を適用して、コントラストの低い画像を鮮明にします。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • output_format (str):出力画像の形式です。たとえば、PNG または JPEG です。デフォルトは PNG です。

戻り値:

  • ヒストグラム平坦化変換を含む MediaSetInputTransform のインスタンスで、さらに変換を適用できます。

例:

Copied!
1 2 transform = image_input.transform().equalize() image_output.write(transform)

rayleigh()

画像のヒストグラム(ピクセルの明るさの分布)がレイリー分布(おおむね常に負の値をとる釣鐘曲線)に一致するように、グレースケールの輝度値を調整します。これにより、コントラストの低い画像の鮮明さを向上させることができます。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • sigma (float):レイリー分布のスケーリングパラメーターです。0から1の間の浮動小数点数である必要があります。デフォルトは0.5です。
  • output_format (str):出力画像の形式です(例:PNG または JPEG)。デフォルトは PNG です。

戻り値:

  • rayleigh 変換を含む MediaSetInputTransform のインスタンスです。さらに変換を適用できます。

例:

Copied!
1 2 transform = image_input.transform().rayleigh(sigma=0.7) image_output.write(transform)

convert_image_to_document()

画像を PDF に変換します。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。

戻り値:

  • 画像をドキュメントに変換する処理を含む MediaSetInputTransform のインスタンスです。さらに変換を適用できます。

例:

Copied!
1 2 transform = image_input.transform().convert_image_to_document() pdf_output.write(transform)

transcode()

音声または動画を指定した形式にトランスコードします。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • encode_format (Optional[str]):出力メディアのエンコード形式を指定します。デフォルトは動画の場合は MP4、音声の場合は MP3 です。

戻り値:

  • トランスコード変換を含む MediaSetInputTransform のインスタンスです。さらに変換を適用できます。

例:

Copied!
1 2 transform = video_input.transform().transcode(encode_format="mov") video_output.write(transform)

extract_audio()

動画ファイルから音声を抽出します。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • output_format (str):出力音声の形式です(例:mp3、wav)。デフォルトは mp3 です。

戻り値:

  • 音声抽出変換を含む MediaSetInputTransform のインスタンスです。さらに変換を適用できます。

例:

Copied!
1 2 transform = video_input.transform().extract_audio(output_format="wav") audio_output.write(transform)

extract_scene_frames()

動画からすべてのシーンフレームを画像として抽出します。シーンフレームとは、動画コンテンツ内で新しいシーンの開始や大きな視覚的変化を示す動画フレームです。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • scene_sensitivity (Literal["MORE_SENSITIVE", "STANDARD", "LESS_SENSITIVE"]):シーン検出の感度レベルです。デフォルトは STANDARD です。
  • output_format (str):抽出するフレームのエンコード形式を指定します。デフォルトは PNG です。

戻り値:

  • シーンフレーム抽出変換を含む MediaSetInputTransform のインスタンスです。各動画の出力画像は TAR アーカイブファイルに保存されます。

例:

Copied!
1 2 transform = video_input.transform().extract_scene_frames(scene_sensitivity="MORE_SENSITIVE") multimodal_output.write(transform)

chunk()

音声または動画ファイルを、指定した長さの小さなセグメントに分割します。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • chunk_duration_milliseconds (int):各チャンクの長さ(ミリ秒)です。デフォルトは 10000(10秒)です。正の整数である必要があります。
  • output_format (Optional[str]):出力音声チャンクの形式です。デフォルトは動画の場合は MP4、音声の場合は TS です。音声でサポートされる出力形式は TS のみです。

戻り値:

  • チャンク分割変換を含む MediaSetInputTransform のインスタンスです。さらに変換を適用できます。

例:

Copied!
1 2 transform = video_input.transform().chunk(chunk_duration_milliseconds=5000) video_output.write(transform)

extract_first_frame()

動画から最初の完全なシーンフレームを画像として抽出します。指定したサイズを使用し、値を指定しない場合は、元のサイズを使用します。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • width (Optional[int]):抽出するフレームの幅です。None の場合、指定した高さに基づいて幅が調整されます。デフォルトは None です。
  • height (Optional[int]):抽出するフレームの高さです。None の場合、指定した幅に基づいて高さが調整されます。デフォルトは None です。
  • output_format (str):出力画像の形式です。デフォルトは PNG です。

戻り値:

  • 最初のフレームの抽出変換を含む MediaSetInputTransform のインスタンスです。さらに変換を適用できます。

例:

Copied!
1 2 transform = video_input.transform().extract_first_frame(width=800, height=600) image_output.write(transform)

extract_frames_at_timestamp()

動画から指定したタイムスタンプのフレームを抽出します。指定したサイズを使用し、値を指定しない場合は、元のサイズを使用します。

パラメーター:

  • timestamps (Union[float, Column]):フレームを抽出する位置を示すタイムスタンプ(秒)です。
  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • df (Optional[DataFrame]):列を入力として渡す際に結合する DataFrame を指定します。フレーム抽出は、入力メディアセットと指定した DataFrame の両方に存在するメディアアイテムにのみ適用されます。on パラメーターとともに指定する必要があります。
  • on (Optional[Literal["media_item_rid", "media_reference"]]):df を指定した場合に、結合に使用する列名です。これにより、正しいメディアアイテムに対してフレーム抽出処理が実行されます。
  • width (Optional[int]):抽出するフレームの幅です。None の場合、指定した高さに基づいて幅を調整します。デフォルトは None です。
  • height (Optional[int]):抽出するフレームの高さです。None の場合、指定した幅に基づいて高さを調整します。デフォルトは None です。
  • output_format (str):出力画像の形式です。デフォルトは PNG です。

戻り値:

  • フレーム抽出変換を含む MediaSetInputTransform のインスタンスです。さらに変換を適用できます。

例:

Copied!
1 2 3 4 5 6 7 8 9 # input_df の列からタイムスタンプのパラメーターを動的に選択します。 # メディアセットと指定された DataFrame の両方に含まれるメディアアイテムからのみフレームを抽出します。 transform1 = video_input.transform().extract_frames_at_timestamp(input_df.timestamp, df=input_df, on="media_item_rid") # メディアセット内のすべての項目について、すべてのフレームが同じタイムスタンプで抽出されます。 transform2 = video_input.transform().extract_frames_at_timestamp(30) # 変換を出力メディアセットに書き込みます image_output.write(transform1)

render_dicom_layer()

DICOM ファイルのフレームを画像としてレンダリングします。指定したサイズを使用し、値を指定しない場合は、元のサイズを使用します。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • layer_number (Optional[int]):DICOM 画像からレンダリングするレイヤーの番号です。デフォルトは中央のレイヤーです。
  • width (Optional[int]):レンダリングする画像の幅です。None で、高さが指定されている場合は、アスペクト比が維持されます。高さを指定しない場合は、指定する必要があります。
  • height (Optional[int]):レンダリングする画像の高さです。None で、幅が指定されている場合は、アスペクト比が維持されます。幅を指定しない場合は、指定する必要があります。
  • output_format (str):出力画像の形式です(例:PNG または JPEG)。デフォルトは PNG です。

戻り値:

  • DICOM レイヤーのレンダリング変換を含む MediaSetInputTransform のインスタンスです。さらに変換を適用できます。

例:

Copied!
1 2 transform = dicom_input.transform().render_dicom_layer(layer_number=2) image_output.write(transform)

extract_form_fields()

ドキュメントからフォームフィールドを抽出します。

パラメーター:

  • media_item_rid (Optional[str]):指定すると、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • suppress_errors (bool):エラー処理の動作を指定します。True の場合、エラーを捕捉し、エラーメッセージを出力に返します。False の場合、エラーを捕捉せず、ビルドは失敗します。デフォルトは True です。メディアセット全体に対する変換にのみ適用されます。

戻り値:

  • DataFrame または単一の文字列。
    • str:フォームフィールドを含む JSON オブジェクト。単一の項目に対する変換に適用されます。
    • DataFrame:列は media_item_rid、path、media_reference、form_fields (str) です。メディアセット全体に対する変換に適用されます。

例:

Copied!
1 2 df = media_set.transform().extract_form_fields() dataset_output.write_dataframe(df)

extract_table_of_contents()

ドキュメントから目次を抽出します。

パラメーター:

  • media_item_rid (Optional[str]):指定すると、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • suppress_errors (bool):エラー処理の動作を指定します。True の場合、エラーを捕捉し、エラーメッセージを出力に返します。False の場合、エラーを捕捉せず、ビルドは失敗します。デフォルトは True です。メディアセット全体に対する変換にのみ適用されます。

戻り値:

  • DataFrame または単一の文字列。
    • str:目次を含む JSON オブジェクト。単一の項目に対する変換に適用されます。
    • DataFrame:列は media_item_rid、path、media_reference、table_of_contents (str) です。メディアセット全体に対する変換に適用されます。

例:

Copied!
1 2 df = media_set.transform().extract_table_of_contents() dataset_output.write_dataframe(df)

get_pdf_page_dimensions()

PDF のページサイズを返します。

パラメーター:

  • media_item_rid (Optional[str]):指定すると、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • suppress_errors (bool):エラー処理の動作を指定します。True の場合、エラーを捕捉し、エラーメッセージを出力に返します。False の場合、エラーを捕捉せず、ビルドは失敗します。デフォルトは True です。メディアセット全体に対する変換にのみ適用されます。

戻り値:

  • DataFrame または単一の文字列。
    • str:width と height をキーとして持つ辞書のリストを含む JSON オブジェクト。単一の項目に対する変換に適用されます。
    • DataFrame:列は media_item_rid、path、media_reference、page_dimensions (str) です。メディアセット全体に対する変換に適用されます。

例:

Copied!
1 2 df = media_set.transform().get_pdf_page_dimensions() dataset_output.write_dataframe(df)

generate_image_embeddings()

画像の埋め込みを生成します。

パラメーター:

  • media_item_rid (Optional[str]):指定すると、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • model_id (Optional[str]):画像の埋め込みの生成に使用するモデル。デフォルトは GOOGLE_SIGLIP_2 です。
  • suppress_errors (bool):エラー処理の動作を指定します。True の場合、エラーを捕捉し、エラーメッセージを出力に返します。False の場合、エラーを捕捉せず、ビルドは失敗します。デフォルトは True です。メディアセット全体に対する変換にのみ適用されます。

戻り値:

  • DataFrame または単一の文字列。
    • str:埋め込みベクトルを含む JSON オブジェクト。単一の項目に対する変換に適用されます。
    • DataFrame:列は media_item_rid、path、media_reference、embeddings (str) です。メディアセット全体に対する変換に適用されます。

例:

Copied!
1 2 df = media_set.transform().generate_image_embeddings() dataset_output.write_dataframe(df)

get_waveform()

音声ファイルの波形の振幅を返します。

パラメーター:

  • media_item_rid (Optional[str]):指定すると、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • peaks_per_second (Optional[int]):返す1秒あたりのピーク数。デフォルトは 100 です。1000 以下の、ゼロではない正の整数である必要があります。
  • suppress_errors (bool):エラー処理の動作を指定します。True の場合、エラーを捕捉し、エラーメッセージを出力に返します。False の場合、エラーを捕捉せず、ビルドは失敗します。デフォルトは True です。メディアセット全体に対する変換にのみ適用されます。

戻り値:

  • DataFrame または単一の文字列。
    • str:音声の振幅を表し、0から1の範囲に正規化された Double のリストを含む JSON オブジェクト。単一の項目に対する変換に適用されます。
    • DataFrame:列は media_item_rid、path、media_reference、waveform (str) です。メディアセット全体に対する変換に適用されます。

例:

Copied!
1 2 df = media_set.transform().get_waveform() dataset_output.write_dataframe(df)

transcribe()

音声を文字起こしします。

パラメーター:

  • media_item_rid (Optional[str]):指定すると、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • language (Optional[str]):文字起こしに使用する言語。デフォルトは None で、その場合は自動検出されます。有効な言語は Whisper GitHub リポジトリ ↗ の LANGUAGES で確認できます。
  • performance_mode (Literal["more_economical", "more_performant"]):文字起こしに使用するパフォーマンスモード。デフォルトは more_economical です。
  • output_format (Literal["text", "segments"]):出力の形式。デフォルトは text です。
  • add_timestamps (Optional[bool]):文字起こしにタイムスタンプを追加するかどうかを制御します。デフォルトは False です。output_format が text の場合にのみ適用されます。
  • suppress_errors (bool):エラー処理の動作を指定します。True の場合、エラーを捕捉し、エラーメッセージを出力に返します。False の場合、エラーを捕捉せず、ビルドは失敗します。デフォルトは True です。メディアセット全体に対する変換にのみ適用されます。

戻り値:

  • DataFrame または単一の文字列。
    • str:単一の項目に対する変換に適用されます。
      • text:文字起こしされたテキスト。
      • segments:タイムスタンプ、セグメントの信頼度、その他の詳細を含む、文字起こしされたセグメントの JSON オブジェクト。
    • DataFrame:列は media_item_rid、path、media_reference、transcription (str) です。メディアセット全体に対する変換に適用されます。

例:

Copied!
1 2 df = media_set.transform().transcribe(output_format="segments") dataset_output.write_dataframe(df)

get_scene_frame_timestamps()

動画ファイルからシーンフレームのタイムスタンプを返します。

パラメーター:

  • media_item_rid (Optional[str]):指定すると、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • scene_sensitivity (Literal["MORE_SENSITIVE", "STANDARD", "LESS_SENSITIVE"]):シーン検出の感度レベル。デフォルトは STANDARD です。
  • suppress_errors (bool):エラー処理の動作を指定します。True の場合、エラーを捕捉し、エラーメッセージを出力に返します。False の場合、エラーを捕捉せず、ビルドは失敗します。デフォルトは True です。メディアセット全体に対する変換にのみ適用されます。

戻り値:

  • DataFrame または単一の文字列。
    • str:frames フィールドに、timestamp と sceneScore をキーとして持つシーンフレームのリストを含む JSON オブジェクト。単一の項目に対する変換に適用されます。
    • DataFrame:列は media_item_rid、path、media_reference、scene_frames (str) です。メディアセット全体に対する変換に適用されます。

例:

Copied!
1 2 df = media_set.transform().get_scene_frame_timestamps() dataset_output.write_dataframe(df)

extract_email_body()

メールの本文を抽出します。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • output_format (Literal["TEXT", "HTML"]):抽出したコンテンツの出力形式を指定します。デフォルトは TEXT です。
  • suppress_errors (bool):エラー処理の動作を指定します。True の場合、エラーを捕捉し、エラーメッセージを出力として返します。False の場合、エラーを捕捉せず、ビルドに失敗します。デフォルトは True です。メディアセット全体に対する変換にのみ適用されます。

戻り値:

  • DataFrame または単一の文字列。
    • str:指定した形式のメール本文。単一の項目に対する変換に適用されます。
    • DataFrame:列は media_item_rid、path、media_reference、email_body (str) です。メディアセット全体に対する変換に適用されます。

例:

Copied!
1 2 df = media_set.transform().extract_email_body() dataset_output.write_dataframe(df)

extract_email_attachments()

メールから添付ファイルを抽出します。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • schema_type (Optional[Literal["audio", "image", "video", "document", "spreadsheet", "dicom", "email"]]):指定したスキーマタイプの添付ファイルのみを抽出します。デフォルトは None で、すべての添付ファイルを抽出します。

戻り値:

  • メールの添付ファイルを抽出する変換を含む MediaSetInputTransform のインスタンス。さらに変換を適用できます。

例:

Copied!
1 2 transform = email_input.transform().extract_email_attachments() multimodal_output.write(transform)

filter_to()

指定したスキーマタイプと形式(任意)の項目のみを含むように、メディアセットを絞り込みます。

パラメーター:

  • schema_type (Literal["audio", "image", "video", "document", "spreadsheet", "dicom", "email"]):絞り込み対象のスキーマタイプ。
  • formats (Optional[list[str]]):絞り込み対象となる特定の形式のリスト(任意)。値を指定しない場合は、スキーマタイプ内のすべての形式が含まれます。スキーマタイプごとに利用可能な形式:
    • document: pdf, docx, pptx, txt
    • image: png, jpeg, jpg, tiff, bmp, webp, jp2, jp2k, nitf
    • audio: mp3, wav, flac, ogg, opus, m4a, webm_audio
    • video: mp4, ts, mov, mkv
    • spreadsheet: xlsx
    • email: eml
    • dicom:形式の絞り込みに対応していません

戻り値:

  • フィルター変換を含む MediaSetInputTransform のインスタンス。さらに変換を適用できます。

例:

Copied!
1 2 3 4 5 6 7 8 9 # すべてのドキュメントに絞り込みます transform = media_set.transform().filter_to("document").slice_document(0, 5) # PDF のみに絞り込み、OCR を実行します transform = media_set.transform().filter_to("document", formats=["pdf"]).ocr() # PDF と DOCX ファイルに絞り込みます transform = media_set.transform().filter_to("document", formats=["pdf", "docx"]) pdf_output.write(transform)

extract_content_from_spreadsheets()

スプレッドシートファイルからコンテンツを抽出します。

パラメーター:

  • media_item_rid (Optional[str]):指定した場合、メディアセット全体ではなく、指定した項目に対して変換を実行します。デフォルトは None です。
  • suppress_errors (bool):エラー処理の動作を指定します。True の場合、エラーを捕捉し、エラーメッセージを出力として返します。False の場合、エラーを捕捉せず、ビルドに失敗します。デフォルトは True です。メディアセット全体に対する変換にのみ適用されます。

戻り値:

  • DataFrame または単一の文字列。
    • str:各シート名をキーとし、その値に table と merged_cells のフィールドを含む JSON オブジェクト。単一の項目に対する変換に適用されます。
    • DataFrame:列は media_item_rid、path、media_reference、extracted_content (str) です。メディアセット全体に対する変換に適用されます。

例:

Copied!
1 2 df = media_set.transform().extract_content_from_spreadsheets() dataset_output.write_dataframe(df)