# Can I access the vtKImageData pixel value code using array subscript method?

**URL:** https://discourse.vtk.org/t/can-i-access-the-vtkimagedata-pixel-value-code-using-array-subscript-method/7190
**Category:** Support
**Tags:** proposal
**Created:** [November 16, 2021, 9:13am UTC](https://discourse.vtk.org/t/can-i-access-the-vtkimagedata-pixel-value-code-using-array-subscript-method/7190 "2021-11-16T09:13:48Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![loufear](https://discourse.vtk.org/user_avatar/discourse.vtk.org/loufear/32/3150_2.png) [@loufear](https://discourse.vtk.org/u/loufear)
#### Post date: [November 16, 2021, 9:13am UTC](https://discourse.vtk.org/t/can-i-access-the-vtkimagedata-pixel-value-code-using-array-subscript-method/7190/1 "2021-11-16T09:13:48Z")

</div>

like ((int\*)(src-\>GetScalarPointer()))[n]

---

<div class="post-metadata">

### Author: ![Yohann\_Bearzi](https://discourse.vtk.org/user_avatar/discourse.vtk.org/yohann_bearzi/32/671_2.png) [@Yohann\_Bearzi](https://discourse.vtk.org/u/Yohann_Bearzi)
#### Post date: [November 16, 2021, 1:41pm UTC](https://discourse.vtk.org/t/can-i-access-the-vtkimagedata-pixel-value-code-using-array-subscript-method/7190/2 "2021-11-16T13:41:37Z")

</div>

You can use ranges from `vtkDataArrayRange.h`

```auto
#include <vtkDataArrayRange.h>
#include <vtkIntArray.h>
#include <vtkSmartPointer.h>

int main()
{
  vtkSmartPointer<vtkIntArray> array = SomeArraySource();
  auto valueRange = vtk::DataArrayValueRange<1>(array);
  vtkIdType n = SomeIndex();
  int val = valueRange[n]; // operator[] access

  using ConstIterator = typename decltype(valueRange)::ConstIteratorType;
  ConstIterator it = valueRange.begin(); // iterator handle

  return EXIT_SUCCESS;
}

```

However beware that `valueRange` is **NOT** a pointer.

---

<div class="post-metadata">

### Author: ![loufear](https://discourse.vtk.org/user_avatar/discourse.vtk.org/loufear/32/3150_2.png) [@loufear](https://discourse.vtk.org/u/loufear)
#### Post date: [November 17, 2021, 1:08am UTC](https://discourse.vtk.org/t/can-i-access-the-vtkimagedata-pixel-value-code-using-array-subscript-method/7190/3 "2021-11-17T01:08:18Z")

</div>

How do I use the head pointer returned by vtKImageData -\>GetScalarPointer()

---

<div class="post-metadata">

### Author: ![loufear](https://discourse.vtk.org/user_avatar/discourse.vtk.org/loufear/32/3150_2.png) [@loufear](https://discourse.vtk.org/u/loufear)
#### Post date: [November 17, 2021, 1:34am UTC](https://discourse.vtk.org/t/can-i-access-the-vtkimagedata-pixel-value-code-using-array-subscript-method/7190/4 "2021-11-17T01:34:42Z")

</div>

std::cout \<\< _(int_)(src-\>GetScalarPointer(i, j, k)) \<\< " ";  
std::cout \<\< (src-\>GetPointData()-\>GetScalars()-\>GetTuple(0))[i \* src-\>GetDimensions()[1] \* src-\>GetDimensions()[2] + j \* src-\>GetDimensions()[2] + k] \<\< " ";Get different values
