Skip to content

Instantly share code, notes, and snippets.

@hauke76
Last active December 14, 2015 11:58
Show Gist options
  • Save hauke76/5082634 to your computer and use it in GitHub Desktop.
Save hauke76/5082634 to your computer and use it in GitHub Desktop.
ITK natvis files which support the display of 2D images via the Visual Studio 2012 add-on Image Watch.
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<UIVisualizer ServiceId="{A452AFEA-3DF6-46BB-9177-C0B08F318025}" Id="1" MenuName="Add to Image Watch"/>
<!-- This file contains ITK visualizers for Image Watch (a VS plugin for image debugging).
Author.: Hauke Heibel <hauke.heibel@gmail.com>
Date...: 02.03.2012
Supported classes / template instantiations:
- itk::Image< *, 2 >,
itk::Image< itk::RGBPixel<*>, 2 >,
itk::Image< itk::RGBAPixel<*>, 2 >
- itk::SmartPointer< itk::Image< *, 2 > >,
itk::SmartPointer< itk::Image< itk::RGBPixel<*>, 2 > >,
itk::SmartPointer< itk::Image< itk::RGBAPixel<*>, 2 > >
Supported component types:
- unsigned char, char, unsigned short, short, int, float, double
Known issues:
- RGBA is currently interpreted as 3 channel data, thus we are using BGRA
which results in a wrong colors being displayed
-->
<!-- itk::Image< *, 2 > -->
<Type Name="itk::Image&lt;*,2&gt;">
<UIVisualizer ServiceId="{A452AFEA-3DF6-46BB-9177-C0B08F318025}" Id="1" />
</Type>
<Type Name="itk::Image&lt;*,2&gt;">
<DisplayString Condition='strcmp("unsigned char", "$T1") == 0'>{{UINT8, 1 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("char", "$T1") == 0'>{{INT8, 1 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("unsigned short", "$T1") == 0'>{{UINT16, 1 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("short", "$T1") == 0'>{{INT16, 1 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("int", "$T1") == 0'>{{INT32, 1 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("float", "$T1") == 0'>{{FLOAT32, 1 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("double", "$T1") == 0'>{{FLOAT64, 1 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<Expand>
<Synthetic Name="[type]" Condition='strcmp("unsigned char", "$T1") == 0'>
<DisplayString>UINT8</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("char", "$T1") == 0'>
<DisplayString>INT8</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("unsigned short", "$T1") == 0'>
<DisplayString>UINT16</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("short", "$T1") == 0'>
<DisplayString>INT16</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("int", "$T1") == 0'>
<DisplayString>INT32</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("float", "$T1") == 0'>
<DisplayString>FLOAT32</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("double", "$T1") == 0'>
<DisplayString>FLOAT64</DisplayString>
</Synthetic>
<Item Name="[channels]">1</Item>
<Item Name="[width]">m_LargestPossibleRegion.m_Size.m_Size[0]</Item>
<Item Name="[height]">m_LargestPossibleRegion.m_Size.m_Size[1]</Item>
<Item Name="[data]">m_Buffer.m_Pointer->m_ImportPointer</Item>
<Item Name="[stride]">1*m_LargestPossibleRegion.m_Size.m_Size[0]*sizeof($T1)</Item>
</Expand>
</Type>
<!-- itk::Image< itk::RGBPixel< *, 2 > > -->
<Type Name="itk::Image&lt;itk::RGBPixel&lt;*&gt;,2&gt;">
<UIVisualizer ServiceId="{A452AFEA-3DF6-46BB-9177-C0B08F318025}" Id="1" />
</Type>
<Type Name="itk::Image&lt;itk::RGBPixel&lt;*&gt;,2&gt;">
<DisplayString Condition='strcmp("unsigned char", "$T1") == 0'>{{UINT8, 3 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("char", "$T1") == 0'>{{INT8, 3 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("unsigned short", "$T1") == 0'>{{UINT16, 3 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("short", "$T1") == 0'>{{INT16, 3 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("int", "$T1") == 0'>{{INT32, 3 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("float", "$T1") == 0'>{{FLOAT32, 3 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("double", "$T1") == 0'>{{FLOAT64, 3 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<Expand>
<Synthetic Name="[type]" Condition='strcmp("unsigned char", "$T1") == 0'>
<DisplayString>UINT8</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("char", "$T1") == 0'>
<DisplayString>INT8</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("unsigned short", "$T1") == 0'>
<DisplayString>UINT16</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("short", "$T1") == 0'>
<DisplayString>INT16</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("int", "$T1") == 0'>
<DisplayString>INT32</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("float", "$T1") == 0'>
<DisplayString>FLOAT32</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("double", "$T1") == 0'>
<DisplayString>FLOAT64</DisplayString>
</Synthetic>
<Synthetic Name="[channels]">
<DisplayString>RGB</DisplayString>
</Synthetic>
<Item Name="[width]">m_LargestPossibleRegion.m_Size.m_Size[0]</Item>
<Item Name="[height]">m_LargestPossibleRegion.m_Size.m_Size[1]</Item>
<Item Name="[data]">m_Buffer.m_Pointer->m_ImportPointer</Item>
<Item Name="[stride]">3*m_LargestPossibleRegion.m_Size.m_Size[0]*sizeof($T1)</Item>
</Expand>
</Type>
<!-- itk::Image< itk::RGBAPixel< *, 2 > > -->
<Type Name="itk::Image&lt;itk::RGBAPixel&lt;*&gt;,2&gt;">
<UIVisualizer ServiceId="{A452AFEA-3DF6-46BB-9177-C0B08F318025}" Id="1" />
</Type>
<Type Name="itk::Image&lt;itk::RGBAPixel&lt;*&gt;,2&gt;">
<DisplayString Condition='strcmp("unsigned char", "$T1") == 0'>{{UINT8, 4 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("char", "$T1") == 0'>{{INT8, 4 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("unsigned short", "$T1") == 0'>{{UINT16, 4 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("short", "$T1") == 0'>{{INT16, 4 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("int", "$T1") == 0'>{{INT32, 4 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("float", "$T1") == 0'>{{FLOAT32, 4 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("double", "$T1") == 0'>{{FLOAT64, 4 x {m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<Expand>
<Synthetic Name="[type]" Condition='strcmp("unsigned char", "$T1") == 0'>
<DisplayString>UINT8</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("char", "$T1") == 0'>
<DisplayString>INT8</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("unsigned short", "$T1") == 0'>
<DisplayString>UINT16</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("short", "$T1") == 0'>
<DisplayString>INT16</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("int", "$T1") == 0'>
<DisplayString>INT32</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("float", "$T1") == 0'>
<DisplayString>FLOAT32</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("double", "$T1") == 0'>
<DisplayString>FLOAT64</DisplayString>
</Synthetic>
<Synthetic Name="[channels]">
<DisplayString>BGRA</DisplayString>
</Synthetic>
<Item Name="[width]">m_LargestPossibleRegion.m_Size.m_Size[0]</Item>
<Item Name="[height]">m_LargestPossibleRegion.m_Size.m_Size[1]</Item>
<Item Name="[data]">m_Buffer.m_Pointer->m_ImportPointer</Item>
<Item Name="[stride]">4*m_LargestPossibleRegion.m_Size.m_Size[0]*sizeof($T1)</Item>
</Expand>
</Type>
<!-- itk::SmartPointer< itk::Image< *, 2 > > -->
<Type Name="itk::SmartPointer&lt;itk::Image&lt;*,2&gt; &gt;">
<UIVisualizer ServiceId="{A452AFEA-3DF6-46BB-9177-C0B08F318025}" Id="1" />
</Type>
<Type Name="itk::SmartPointer&lt;itk::Image&lt;*,2&gt; &gt;">
<DisplayString Condition='strcmp("unsigned char", "$T1") == 0'>{{UINT8, 1 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("char", "$T1") == 0'>{{INT8, 1 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("unsigned short", "$T1") == 0'>{{UINT16, 1 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("short", "$T1") == 0'>{{INT16, 1 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("int", "$T1") == 0'>{{INT32, 1 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("float", "$T1") == 0'>{{FLOAT32, 1 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("double", "$T1") == 0'>{{FLOAT64, 1 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<Expand>
<Synthetic Name="[type]" Condition='strcmp("unsigned char", "$T1") == 0'>
<DisplayString>UINT8</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("char", "$T1") == 0'>
<DisplayString>INT8</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("unsigned short", "$T1") == 0'>
<DisplayString>UINT16</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("short", "$T1") == 0'>
<DisplayString>INT16</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("int", "$T1") == 0'>
<DisplayString>INT32</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("float", "$T1") == 0'>
<DisplayString>FLOAT32</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("double", "$T1") == 0'>
<DisplayString>FLOAT64</DisplayString>
</Synthetic>
<Item Name="[channels]">1</Item>
<Item Name="[width]">m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]</Item>
<Item Name="[height]">m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]</Item>
<Item Name="[data]">m_Pointer->m_Buffer.m_Pointer->m_ImportPointer</Item>
<Item Name="[stride]">1*m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]*sizeof($T1)</Item>
</Expand>
</Type>
<!-- itk::SmartPointer< itk::Image< itk::RGBPixel<*>, 2 > > -->
<Type Name="itk::SmartPointer&lt;itk::Image&lt;itk::RGBPixel&lt;*&gt;,2&gt; &gt;">
<UIVisualizer ServiceId="{A452AFEA-3DF6-46BB-9177-C0B08F318025}" Id="1" />
</Type>
<Type Name="itk::SmartPointer&lt;itk::Image&lt;itk::RGBPixel&lt;*&gt;,2&gt; &gt;">
<DisplayString Condition='strcmp("unsigned char", "$T1") == 0'>{{UINT8, 3 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("char", "$T1") == 0'>{{INT8, 3 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("unsigned short", "$T1") == 0'>{{UINT16, 3 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("short", "$T1") == 0'>{{INT16, 3 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("int", "$T1") == 0'>{{INT32, 3 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("float", "$T1") == 0'>{{FLOAT32, 3 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("double", "$T1") == 0'>{{FLOAT64, 3 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<Expand>
<Synthetic Name="[type]" Condition='strcmp("unsigned char", "$T1") == 0'>
<DisplayString>UINT8</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("char", "$T1") == 0'>
<DisplayString>INT8</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("unsigned short", "$T1") == 0'>
<DisplayString>UINT16</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("short", "$T1") == 0'>
<DisplayString>INT16</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("int", "$T1") == 0'>
<DisplayString>INT32</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("float", "$T1") == 0'>
<DisplayString>FLOAT32</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("double", "$T1") == 0'>
<DisplayString>FLOAT64</DisplayString>
</Synthetic>
<Synthetic Name="[channels]">
<DisplayString>RGB</DisplayString>
</Synthetic>
<Item Name="[width]">m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]</Item>
<Item Name="[height]">m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]</Item>
<Item Name="[data]">m_Pointer->m_Buffer.m_Pointer->m_ImportPointer</Item>
<Item Name="[stride]">3*m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]*sizeof($T1)</Item>
</Expand>
</Type>
<!-- itk::SmartPointer< itk::Image< itk::RGBAPixel<*>, 2 > > -->
<Type Name="itk::SmartPointer&lt; itk::Image&lt;itk::RGBAPixel&lt;*&gt;,2&gt; &gt;">
<UIVisualizer ServiceId="{A452AFEA-3DF6-46BB-9177-C0B08F318025}" Id="1" />
</Type>
<Type Name="itk::SmartPointer&lt; itk::Image&lt;itk::RGBAPixel&lt;*&gt;,2&gt; &gt;">
<DisplayString Condition='strcmp("unsigned char", "$T1") == 0'>{{UINT8, 4 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("char", "$T1") == 0'>{{INT8, 4 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("unsigned short", "$T1") == 0'>{{UINT16, 4 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("short", "$T1") == 0'>{{INT16, 4 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("int", "$T1") == 0'>{{INT32, 4 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("float", "$T1") == 0'>{{FLOAT32, 4 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<DisplayString Condition='strcmp("double", "$T1") == 0'>{{FLOAT64, 4 x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]} x {m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]}}}</DisplayString>
<Expand>
<Synthetic Name="[type]" Condition='strcmp("unsigned char", "$T1") == 0'>
<DisplayString>UINT8</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("char", "$T1") == 0'>
<DisplayString>INT8</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("unsigned short", "$T1") == 0'>
<DisplayString>UINT16</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("short", "$T1") == 0'>
<DisplayString>INT16</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("int", "$T1") == 0'>
<DisplayString>INT32</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("float", "$T1") == 0'>
<DisplayString>FLOAT32</DisplayString>
</Synthetic>
<Synthetic Name="[type]" Condition='strcmp("double", "$T1") == 0'>
<DisplayString>FLOAT64</DisplayString>
</Synthetic>
<Synthetic Name="[channels]">
<DisplayString>BGRA</DisplayString>
</Synthetic>
<Item Name="[width]">m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]</Item>
<Item Name="[height]">m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[1]</Item>
<Item Name="[data]">m_Pointer->m_Buffer.m_Pointer->m_ImportPointer</Item>
<Item Name="[stride]">4*m_Pointer->m_LargestPossibleRegion.m_Size.m_Size[0]*sizeof($T1)</Item>
</Expand>
</Type>
</AutoVisualizer>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment