> This page is for version 26.07 · v1.3.0.
> For other versions, use one of these documentation indexes:
> - Latest · v1.4.0 (26.09) (default): https://docs.nvidia.com/nemo/curator/latest/llms.txt
> - Main · preview: https://docs.nvidia.com/nemo/curator/main/llms.txt
> - 26.09 · v1.4.0: https://docs.nvidia.com/nemo/curator/v26.09/llms.txt
> - 26.07 · v1.3.0: https://docs.nvidia.com/nemo/curator/v26.07/llms.txt
> - 26.04 · v1.2.0: https://docs.nvidia.com/nemo/curator/v26.04/llms.txt
> - 26.02 · v1.1.0: https://docs.nvidia.com/nemo/curator/v26.02/llms.txt
> - 25.09 · v1.0.0: https://docs.nvidia.com/nemo/curator/v25.09/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/curator/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/curator/_mcp/server.

# nemo_curator.tasks.image

## Module Contents

### Classes

| Name                                                           | Description                                                           |
| -------------------------------------------------------------- | --------------------------------------------------------------------- |
| [`ImageBatch`](#nemo_curator-tasks-image-ImageBatch)           | Task for processing batches of images.                                |
| [`ImageObject`](#nemo_curator-tasks-image-ImageObject)         | Represents a single image with metadata.                              |
| [`ImageSampleTask`](#nemo_curator-tasks-image-ImageSampleTask) | Single-sample image task. `data` is an `ImageTaskData` (or subclass). |
| [`ImageTaskData`](#nemo_curator-tasks-image-ImageTaskData)     | Task data for image processing.                                       |

### Data

[`T_ImageData`](#nemo_curator-tasks-image-T_ImageData)

### API

```python
class nemo_curator.tasks.ImageBatch(
    dataset_name: str,
    data: list[nemo_curator.tasks.image.ImageObject] = list(),
    _stage_perf: list[nemo_curator.utils.performance_utils.StagePerfStats] = list(),
    _metadata: dict[str, typing.Any] = dict()
)
```

Dataclass

**Bases:** [Task](/nemo/curator/nemo-curator/nemo_curator/tasks/tasks#nemo_curator-tasks-tasks-Task)

Task for processing batches of images.
Images are stored as a list of ImageObject instances, each containing
the path to the image and associated metadata.

**`data`** `list[ImageObject] = field(default_factory=list)`

---

**`num_items`** `int`

Number of images in this batch.

---

```python
nemo_curator.tasks.ImageBatch.validate() -> bool
```

Validate the task data.

```python
class nemo_curator.tasks.ImageObject(
    image_path: str = '',
    image_id: str = '',
    metadata: dict[str, typing.Any] = dict(),
    image_data: numpy.ndarray | None = None,
    embedding: numpy.ndarray | None = None,
    aesthetic_score: float | None = None,
    nsfw_score: float | None = None
)
```

Dataclass

Represents a single image with metadata.

**`aesthetic_score`** `float | None = None`

Aesthetic quality score as float

---

**`embedding`** `ndarray | None = None`

Image embedding vector as numpy array

---

**`image_data`** `ndarray | None = None`

Raw image pixel data as numpy array (H, W, C) in RGB format

---

**`image_id`** `str = ''`

Unique identifier for the image

---

**`image_path`** `str = ''`

Path to the image file on disk

---

**`metadata`** `dict[str, Any] = field(default_factory=dict)`

Additional metadata associated with the image

---

**`nsfw_score`** `float | None = None`

NSFW probability score as float

---

```python
class nemo_curator.tasks.image.ImageSampleTask(
    dataset_name: str,
    _stage_perf: list[nemo_curator.utils.performance_utils.StagePerfStats] = list(),
    _metadata: dict[str, typing.Any] = dict(),
    data: nemo_curator.tasks.image.T_ImageData
)
```

Dataclass

**Bases:** [Task\[T\_ImageData\]](/nemo/curator/nemo-curator/nemo_curator/tasks/tasks#nemo_curator-tasks-tasks-Task)

Single-sample image task. `data` is an `ImageTaskData` (or subclass).

**`data`** `T_ImageData`

---

**`num_items`** `int`

---

```python
nemo_curator.tasks.image.ImageSampleTask.validate() -> bool
```

```python
class nemo_curator.tasks.image.ImageTaskData(
    image_path: pathlib.Path | str,
    image_id: str | None = None,
    is_valid: bool = True,
    error: str | None = None
)
```

Dataclass

Task data for image processing.

**`error`** `str | None = None`

---

**`image_id`** `str | None = None`

---

**`image_path`** `Path | str`

---

**`is_valid`** `bool = True`

---

```python
nemo_curator.tasks.image.ImageTaskData.to_dict() -> dict[str, typing.Any]
```

Convert to dictionary for JSON serialization.

Path objects are left as-is; callers should use default=str when
passing to json.dumps to handle Path → str conversion.

```python
nemo_curator.tasks.image.T_ImageData = TypeVar('T_ImageData', bound='ImageTaskData')
```