> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ionworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 測定

> 3 つの測定タイプ — 時系列、プロパティ、ファイル — のフィールド、作成例、それぞれの使い分けを解説します

**セル測定 (cell measurement)** は、[セルインスタンス](/ja/core-concepts/cells)で実施した単一の実験またはテストを表します。すべての測定には `measurement_type` があり、格納するデータと作成方法を決定します。

## 測定タイプ

| タイプ           | 格納内容                                                  | 典型的な用途                     |
| ------------- | ----------------------------------------------------- | -------------------------- |
| `time_series` | 電圧、電流、時間列を含む高解像度のサイクリングデータ。自動生成されるステップ・サイクルサマリーを含みます。 | バッテリーサイクリング試験、EIS 測定、充放電実験 |
| `properties`  | 任意で単位を持つキー値ペア。ファイルアップロードなし。                           | 厚さ、重量、内部抵抗などの手動測定          |
| `file`        | レコードに添付された 1 つ以上のアップロードファイル（画像、PDF、numpy 配列など）。       | 顕微鏡画像、SEM 写真、解体解析ドキュメント    |

## 共通フィールド

すべての測定（タイプを問わず）は、これらの任意のメタデータフィールドを受け入れます:

| フィールド                               | 説明                                                                                          |
| ----------------------------------- | ------------------------------------------------------------------------------------------- |
| `name`                              | 測定の名前                                                                                       |
| `protocol.name`                     | プロトコルの説明                                                                                    |
| `protocol.ambient_temperature_degc` | 試験温度                                                                                        |
| `test_setup`                        | `cycler`、`operator`、`lab`、`channel_number`                                                  |
| `start_time`                        | ISO 8601 開始時刻、例: `"2026-03-15T09:30:00Z"`                                                   |
| `channel_id`                        | 試験を実行した物理[チャンネル](/ja/data/lab)の ID。測定と同じプロジェクトに属している必要があります。                                |
| `estimated_end_time`                | ISO 8601 形式での試験終了予定時刻。任意項目です。試験の実行中に[ラボビュー](/ja/data/lab)のチャンネルカードに表示され、チャンネルがいつ空くかを確認できます。 |
| `notes`                             | 試験に関する自由形式のメモ                                                                               |

## 時系列

時系列はデフォルトの測定タイプです。高解像度のサイクリングデータを保持し、アップロード時にステップ・サイクルサマリーを自動生成します。

時系列 DataFrame は[データフォーマット](/ja/data/format)に従う必要があります。認識される列には `Time [s]`、`Voltage [V]`、`Current [A]`、`Step count`、`Cycle count` が含まれます。

```python theme={null}
import pandas as pd

time_series = pd.DataFrame({
    "Time [s]": [0, 1, 2, 3, 4, 5],
    "Voltage [V]": [3.0, 3.2, 3.5, 3.8, 4.0, 4.2],
    "Current [A]": [0.002, 0.002, 0.002, 0.002, 0.002, 0.002],
    "Step count": [0, 0, 0, 1, 1, 1],
    "Cycle count": [0, 0, 0, 0, 0, 0],
})

bundle = client.cell_measurement.create(
    cell_instance.id,
    {"measurement": {"name": "Formation Cycle 1"}, "time_series": time_series},
)
```

`create()` は測定レコードと `steps_created` などのメタデータを含む `MeasurementBundle` を返します。プロトコルやテストセットアップのメタデータ、マシン上でのバリデーション、冪等な `create_or_get` を含むアップロードワークフロー全体については[データのアップロード](/ja/data/uploading)を、完全な時系列・ステップ・サイクルとともに測定を取得し直すには[データの読み取り](/ja/data/reading)を参照してください。

## プロパティ

プロパティ測定はキー値ペアをレコードに直接格納します — ファイルアップロードはありません。厚さ、重量、内部抵抗などの手動測定や一回限りの測定に使用します。

**プロパティ固有のフィールド:**

| フィールド        | 説明                                                                             |
| ------------ | ------------------------------------------------------------------------------ |
| `properties` | キー値ペア。数値には[数量フォーマット](/ja/data/format#quantity-format)を使用します。プレーン文字列や数値も許可されます。 |

```python theme={null}
measurement = client.cell_measurement.create_properties(
    cell_instance.id,
    name="Post-formation properties",
    properties={
        "thickness": {"value": 0.52, "unit": "mm"},
        "weight": {"value": 45.3, "unit": "g"},
        "internal_resistance": {"value": 12.5, "unit": "mOhm"},
        "visual_condition": "No visible damage",
    },
    notes="Measured after formation cycling",
)
```

共通メタデータフィールド（`protocol`、`test_setup`、`start_time`、`notes`）はプロパティと併せて含められます。

<Note>
  `create_properties` は `MeasurementBundle` ではなく `Measurement` を直接返します。プロパティ測定にはステップやファイルアップロードがないため、バンドルラッパーは不要です。
</Note>

## ファイル

ファイル測定は、ファイル（画像、PDF、numpy 配列、その他任意のファイルタイプ）を測定レコードに添付します。顕微鏡画像、SEM 写真、X 線 CT スキャン、解体解析ドキュメントに便利です。

**ファイル固有のフィールド:**

| フィールド             | 説明                                             |
| ----------------- | ---------------------------------------------- |
| `filepaths`       | アップロードするローカルファイルパスのリスト                         |
| `validate_images` | `True` のとき、アップロード前にファイルヘッダーが拡張子と一致するか検証します     |
| `file_metadata`   | アップロード後にサーバーが自動的に設定します（MIME タイプ、寸法など） — 読み取り専用 |

```python theme={null}
bundle = client.cell_measurement.create_file(
    cell_instance.id,
    name="Post-cycling SEM images",
    filepaths=[
        "images/anode_surface_1000x.png",
        "images/cathode_cross_section_500x.png",
    ],
    notes="SEM images taken after 500 cycles",
)
```

クライアント側の画像検証を有効にするには:

```python theme={null}
bundle = client.cell_measurement.create_file(
    cell_instance.id,
    name="Electrode images",
    filepaths=["photo.png", "scan.tiff"],
    validate_images=True,
)
```

既存のファイル測定からファイルにアクセスするには:

```python theme={null}
# List filenames in the measurement
filenames = client.cell_measurement.list_files(measurement_id)

# Download file contents directly
files = client.cell_measurement.download_files(measurement_id)
for filename, content in files.items():
    print(f"{filename}: {len(content)} bytes")
```

<Note>
  ファイル測定は内部的に署名付き URL アップロードフローを使用します。クライアントは複数ステップのプロセス（initiate、upload、confirm）を自動的に処理します。
</Note>

### Studio でのファイルプレビュー

Studio でファイル測定を開くと、添付されたファイルは測定の詳細の下にギャラリーとして表示されます:

* **画像** (`.png`、`.jpg`、`.webp` など) はインラインのサムネイルとしてレンダリングされます。サムネイルをクリックすると、フルスクリーンのライトボックスで開きます。
* **画像以外のファイル** (PDF、numpy 配列、CSV など) はダウンロードボタン付きのカードとして表示されます。

これにより、SEM 写真、X 線 CT スキャン、その他の顕微鏡画像を、事前にダウンロードすることなくブラウザで直接確認できます。

## 次のステップ

<CardGroup cols={2}>
  <Card title="データのアップロード" icon="upload" href="/ja/data/uploading">
    エンドツーエンドのアップロードワークフロー: 仕様、インスタンス、測定。
  </Card>

  <Card title="データの読み取り" icon="download" href="/ja/data/reading">
    完全なデータとともに測定を一覧、フィルタリング、取得します。
  </Card>
</CardGroup>
