<!--
{
  "availability" : [
    "iOS: 10.0.0 - 14.0.0",
    "iPadOS: 10.0.0 - 14.0.0",
    "macCatalyst: 13.1.0 - 14.0.0",
    "macOS: 10.12.0 - 11.0.0",
    "tvOS: 10.0.0 - 14.0.0",
    "visionOS: 1.0.0 - 1.0.0",
    "watchOS: 3.0.0 - 7.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/BNNSImageStackDescriptor",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Accelerate"
    ],
    "preciseIdentifier" : "c:@SA@BNNSImageStackDescriptor"
  },
  "title" : "BNNSImageStackDescriptor"
}
-->

# BNNSImageStackDescriptor

```
struct BNNSImageStackDescriptor
```

## Overview\abstract Image stack descriptor (DEPRECATED, Use BNNSNDArrayDescriptor)
\discussion An image stack is a sequence of images with the same width and height. Each image in the sequence is called a channel.
For example, a RGB image will be stored as three separate channels. A pixel has only one scalar value, stored using the type
described by <tt>data_type</tt>.

Pixel P(c,x,y) at position (x,y) in channel c is stored in
data[x + row_stride * y + image_stride * c], with
x=0..width-1,
y=0..height-1,
c=0..channels-1. row_stride ≥ width, image_stride ≥ row_stride * height.

Int types are converted to floating point using float Y = DATA_SCALE * (float)X + DATA_BIAS, and back to integer using Int X = convert_and_saturate(Y / DATA_SCALE - DATA_BIAS)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)