---
title: "init(device:imageDescriptor:)"
framework: metalperformanceshaders
role: symbol
role_heading: Initializer
path: "metalperformanceshaders/mpsimage/init(device:imagedescriptor:)"
---

# init(device:imageDescriptor:)

Initializes an empty image.

## Declaration

```swift
convenience init(device: any MTLDevice, imageDescriptor: MPSImageDescriptor)
```

## Parameters

- `device`: The device on which the image will be used.
- `imageDescriptor`: The image descriptor.

## Return Value

Return Value A valid MPSImage object or nil, if failure.

## Discussion

Discussion Storage for the image data is allocated lazily on the first use of the MPSImage object, or when the texture property is first read.

## See Also

### Initializers

- [MPSImageDescriptor](metalperformanceshaders/mpsimagedescriptor.md)
- [init(texture:featureChannels:)](metalperformanceshaders/mpsimage/init(texture:featurechannels:).md)
- [init(parentImage:sliceRange:featureChannels:)](metalperformanceshaders/mpsimage/init(parentimage:slicerange:featurechannels:).md)
