<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>VTK: vtkImageCityBlockDistance Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.6 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="classes.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>vtkImageCityBlockDistance Class Reference</h1><!-- doxytag: class="vtkImageCityBlockDistance" --><!-- doxytag: inherits="vtkImageDecomposeFilter" --><code>#include <<a class="el" href="a04676.html">vtkImageCityBlockDistance.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for vtkImageCityBlockDistance:</div> <div class="dynsection"> <p><center><img src="a10744.png" border="0" usemap="#a10745" alt="Inheritance graph"></center> <map name="a10745"> <area shape="rect" href="a00754.html" title="Filters that execute axes in series." alt="" coords="13,453,192,480"><area shape="rect" href="a00782.html" title="Multiple executes per update." alt="" coords="29,379,176,405"><area shape="rect" href="a01705.html" title="Generic filter that has one input.." alt="" coords="5,304,200,331"><area shape="rect" href="a00727.html" title="Generic algorithm superclass for image algs." alt="" coords="35,229,171,256"><area shape="rect" href="a00101.html" title="Superclass for all sources, filters, and sinks in VTK." alt="" coords="53,155,152,181"><area shape="rect" href="a01084.html" title="abstract base class for most VTK objects" alt="" coords="63,80,143,107"><area shape="rect" href="a01085.html" title="abstract base class for most VTK objects" alt="" coords="48,5,157,32"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <div class="dynheader"> Collaboration diagram for vtkImageCityBlockDistance:</div> <div class="dynsection"> <p><center><img src="a10746.png" border="0" usemap="#a10747" alt="Collaboration graph"></center> <map name="a10747"> <area shape="rect" href="a00754.html" title="Filters that execute axes in series." alt="" coords="3759,1106,3937,1132"><area shape="rect" href="a00782.html" title="Multiple executes per update." alt="" coords="3560,1106,3707,1132"><area shape="rect" href="a01705.html" title="Generic filter that has one input.." alt="" coords="1816,1107,2011,1134"><area shape="rect" href="a00727.html" title="Generic algorithm superclass for image algs." alt="" coords="1512,1042,1648,1068"><area shape="rect" href="a00101.html" title="Superclass for all sources, filters, and sinks in VTK." alt="" coords="1125,958,1224,984"><area shape="rect" href="a00472.html" title="Superclass for all pipeline executives in VTK." alt="" coords="1531,978,1629,1004"><area shape="rect" href="a01306.html" title="abstract class specifies interface for visualization filters" alt="" coords="1516,319,1644,346"><area shape="rect" href="a01084.html" title="abstract base class for most VTK objects" alt="" coords="444,752,524,779"><area shape="rect" href="a00895.html" title="Store zero or more vtkInformation instances." alt="" coords="733,1042,883,1068"><area shape="rect" href="a00872.html" title="Store vtkAlgorithm input/output information." alt="" coords="753,496,863,523"><area shape="rect" href="a01064.html" title="A class for performing multithreaded execution." alt="" coords="1517,1232,1643,1259"><area shape="rect" href="a01074.html" title="mutual exclusion locking class" alt="" coords="755,1259,861,1286"><area shape="rect" href="a00362.html" title="general representation of visualization data" alt="" coords="2185,230,2292,256"><area shape="rect" href="a00538.html" title="represent and manipulate fields of data" alt="" coords="1531,252,1629,279"><area shape="rect" href="a00081.html" title="Abstract superclass for all arrays." alt="" coords="1113,547,1236,574"><area shape="rect" href="a00240.html" title="abstract class to specify cell behavior" alt="" coords="2207,700,2271,727"><area shape="rect" href="a01250.html" title="represent and manipulate 3D points" alt="" coords="1875,659,1952,686"><area shape="rect" href="a01513.html" title="map scalar values into colors" alt="" coords="908,1147,1049,1174"><area shape="rect" href="a00720.html" title="list of point or cell ids" alt="" coords="1345,710,1417,736"><area shape="rect" href="a01128.html" title="helper class to generate triangulations" alt="" coords="1092,608,1257,635"><area shape="rect" href="a00683.html" title="replacement for malloc/free and new/delete" alt="" coords="772,600,844,627"><area shape="rect" href="a01085.html" title="abstract base class for most VTK objects" alt="" coords="7,732,116,759"><area shape="rect" href="a00884.html" title="internal structure for vtkInformation" alt="" coords="403,647,565,674"><area shape="rect" href="a00886.html" title="Superclass for vtkInformation keys." alt="" coords="169,732,300,759"><area shape="rect" href="a01719.html" title="record modification and/or execution time" alt="" coords="180,290,289,316"><area shape="rect" href="a00751.html" title="topologically and geometrically regular array of data" alt="" coords="3325,583,3432,610"><area shape="rect" href="a00374.html" title="abstract class to specify dataset behavior" alt="" coords="2425,126,2513,152"><area shape="rect" href="a01574.html" title="abstract class specifies interface for visualization network source" alt="" coords="1872,192,1955,219"><area shape="rect" href="a00980.html" title="map scalar values into colors via a lookup table" alt="" coords="2180,1055,2297,1082"><area shape="rect" href="a00891.html" title="Key for pointer to pointer." alt="" coords="393,512,575,539"><area shape="rect" href="a01065.html" title="vtkMultiThreader::ThreadInfo" alt="" coords="1075,1320,1275,1347"><area shape="rect" href="a01552.html" title="vtkSimpleMutexLock" alt="" coords="411,1259,557,1286"><area shape="rect" href="a00376.html" title="represent and manipulate attribute data in a dataset" alt="" coords="1840,75,1987,102"><area shape="rect" href="a00356.html" title="abstract superclass for arrays of numeric data" alt="" coords="1529,840,1631,867"><area shape="rect" href="a00540.html" title="vtkFieldData::CopyFieldFlag" alt="" coords="1077,238,1272,264"><area shape="rect" href="a00245.html" title="represent and manipulate cell attribute data" alt="" coords="2192,75,2285,102"><area shape="rect" href="a01242.html" title="represent and manipulate point attribute data" alt="" coords="2188,126,2289,152"><area shape="rect" href="a00539.html" title="vtkFieldData::BasicIterator" alt="" coords="1488,75,1672,102"><area shape="rect" href="a00960.html" title="cell represents a 1D line" alt="" coords="2436,771,2503,798"><area shape="rect" href="a01859.html" title="a cell that represents a 3D orthogonal parallelepiped" alt="" coords="3168,678,3243,704"><area shape="rect" href="a01688.html" title="a 3D cell that represents a tetrahedron" alt="" coords="2857,812,2929,839"><area shape="rect" href="a01760.html" title="a cell that represents a triangle" alt="" coords="2645,788,2736,815"><area shape="rect" href="a01221.html" title="a cell that represents an orthogonal quadrilateral" alt="" coords="2761,635,2831,662"><area shape="rect" href="a01821.html" title="a cell that represents a 3D point" alt="" coords="2540,583,2620,610"><area shape="rect" href="a00241.html" title="abstract class to specify 3D cell interface" alt="" coords="3036,819,3116,846"><area shape="rect" href="a01784.html" title="dynamic, self-adjusting array of unsigned char" alt="" coords="1833,891,1993,918"><area shape="rect" href="a00436.html" title="dynamic, self-adjusting array of double" alt="" coords="2036,850,2151,876"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="a10748.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> 1,2 or 3D distance map. <p> <a class="el" href="a00740.html" title="1,2 or 3D distance map.">vtkImageCityBlockDistance</a> creates a distance map using the city block (Manhatten) distance measure. The input is a mask. Zero values are considered boundaries. The output pixel is the minimum of the input pixel and the distance to a boundary (or neighbor value + 1 unit). distance values are calculated in pixels. The filter works by taking 6 passes (for 3d distance map): 2 along each axis (forward and backward). Each pass keeps a running minimum distance. For some reason, I preserve the sign if the distance. If the input mask is initially negative, the output distances will be negative. Distances maps can have inside (negative regions) and outsides (positive regions).<p> <dl class="user" compact><dt><b>Tests:</b></dt><dd><a class="el" href="c2_vtk_t_8.html#c2_vtk_t_vtkImageCityBlockDistance">vtkImageCityBlockDistance (Tests)</a> </dd></dl> <p>Definition at line <a class="el" href="a04676.html#l00040">40</a> of file <a class="el" href="a04676.html">vtkImageCityBlockDistance.h</a>.</p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00754.html">vtkImageDecomposeFilter</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00740.html#c8c4ba860a03ccbcf3819d116e71c9fe">Superclass</a></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00740.html#2240ede1ab76e74841c699d260139aa3">GetClassName</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00740.html#3df8e97569e92f52b999beebf8a6c976">IsA</a> (const char *type)</td></tr> <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a00740.html">vtkImageCityBlockDistance</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00740.html#b6b0cccc2aa4fd128c145e5765c78b6d">New</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00740.html#a2fe06b6ae43ab14866b1c6979b50fd1">IsTypeOf</a> (const char *type)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a00740.html">vtkImageCityBlockDistance</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00740.html#035d990b25f26e035056b2f5b50bd333">SafeDownCast</a> (<a class="el" href="a01084.html">vtkObject</a> *o)</td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00740.html#e4e265244708b2f67b8de2b46df07617">vtkImageCityBlockDistance</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00740.html#fdf88b297140814e96d64f681406f7b5">~vtkImageCityBlockDistance</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00740.html#d6c0b4698eef9d988c7a787c44309c3a">IterativeRequestUpdateExtent</a> (<a class="el" href="a00872.html">vtkInformation</a> *in, <a class="el" href="a00872.html">vtkInformation</a> *out)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00740.html#7f1fb304b9b35ef77c4d710362a3f08a">IterativeRequestData</a> (<a class="el" href="a00872.html">vtkInformation</a> *, <a class="el" href="a00895.html">vtkInformationVector</a> **, <a class="el" href="a00895.html">vtkInformationVector</a> *)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00740.html#a90472063815a3c805a943604dc34106">AllocateOutputScalars</a> (<a class="el" href="a00751.html">vtkImageData</a> *outData, int *updateExtent, int *wholeExtent)</td></tr> </table> <hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="c8c4ba860a03ccbcf3819d116e71c9fe"></a><!-- doxytag: member="vtkImageCityBlockDistance::Superclass" ref="c8c4ba860a03ccbcf3819d116e71c9fe" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="a00754.html">vtkImageDecomposeFilter</a> <a class="el" href="a00754.html">vtkImageCityBlockDistance::Superclass</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Construct an instance of <a class="el" href="a00754.html" title="Filters that execute axes in series.">vtkImageDecomposeFilter</a> filter with default dimensionality 3. <p>Reimplemented from <a class="el" href="a00754.html#29a3ce8144b1e546a61851d03a5f53cd">vtkImageDecomposeFilter</a>.</p> <p>Definition at line <a class="el" href="a04676.html#l00044">44</a> of file <a class="el" href="a04676.html">vtkImageCityBlockDistance.h</a>.</p> </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="e4e265244708b2f67b8de2b46df07617"></a><!-- doxytag: member="vtkImageCityBlockDistance::vtkImageCityBlockDistance" ref="e4e265244708b2f67b8de2b46df07617" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vtkImageCityBlockDistance::vtkImageCityBlockDistance </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="fdf88b297140814e96d64f681406f7b5"></a><!-- doxytag: member="vtkImageCityBlockDistance::~vtkImageCityBlockDistance" ref="fdf88b297140814e96d64f681406f7b5" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vtkImageCityBlockDistance::~vtkImageCityBlockDistance </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="a04676.html#l00048">48</a> of file <a class="el" href="a04676.html">vtkImageCityBlockDistance.h</a>.</p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="b6b0cccc2aa4fd128c145e5765c78b6d"></a><!-- doxytag: member="vtkImageCityBlockDistance::New" ref="b6b0cccc2aa4fd128c145e5765c78b6d" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="a00740.html">vtkImageCityBlockDistance</a>* vtkImageCityBlockDistance::New </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Create an object with Debug turned off, modified time initialized to zero, and reference counting on. <p>Reimplemented from <a class="el" href="a00101.html#06d80d8d4aa1a4856135fa003845be82">vtkAlgorithm</a>.</p> </div> </div><p> <a class="anchor" name="2240ede1ab76e74841c699d260139aa3"></a><!-- doxytag: member="vtkImageCityBlockDistance::GetClassName" ref="2240ede1ab76e74841c699d260139aa3" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual const char* vtkImageCityBlockDistance::GetClassName </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Construct an instance of <a class="el" href="a00754.html" title="Filters that execute axes in series.">vtkImageDecomposeFilter</a> filter with default dimensionality 3. <p>Reimplemented from <a class="el" href="a00754.html#6d9e8e6cd31aed57bfd0d09af8189401">vtkImageDecomposeFilter</a>.</p> </div> </div><p> <a class="anchor" name="a2fe06b6ae43ab14866b1c6979b50fd1"></a><!-- doxytag: member="vtkImageCityBlockDistance::IsTypeOf" ref="a2fe06b6ae43ab14866b1c6979b50fd1" args="(const char *type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static int vtkImageCityBlockDistance::IsTypeOf </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>type</em> </td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Construct an instance of <a class="el" href="a00754.html" title="Filters that execute axes in series.">vtkImageDecomposeFilter</a> filter with default dimensionality 3. <p>Reimplemented from <a class="el" href="a00754.html#2c2a8a0788162e3140256d60324670e9">vtkImageDecomposeFilter</a>.</p> </div> </div><p> <a class="anchor" name="3df8e97569e92f52b999beebf8a6c976"></a><!-- doxytag: member="vtkImageCityBlockDistance::IsA" ref="3df8e97569e92f52b999beebf8a6c976" args="(const char *type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int vtkImageCityBlockDistance::IsA </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>type</em> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Construct an instance of <a class="el" href="a00754.html" title="Filters that execute axes in series.">vtkImageDecomposeFilter</a> filter with default dimensionality 3. <p>Reimplemented from <a class="el" href="a00754.html#9194e6fc66e38171a5d9a9f3d2b930f1">vtkImageDecomposeFilter</a>.</p> </div> </div><p> <a class="anchor" name="035d990b25f26e035056b2f5b50bd333"></a><!-- doxytag: member="vtkImageCityBlockDistance::SafeDownCast" ref="035d990b25f26e035056b2f5b50bd333" args="(vtkObject *o)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="a00740.html">vtkImageCityBlockDistance</a>* vtkImageCityBlockDistance::SafeDownCast </td> <td>(</td> <td class="paramtype"><a class="el" href="a01084.html">vtkObject</a> * </td> <td class="paramname"> <em>o</em> </td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Construct an instance of <a class="el" href="a00754.html" title="Filters that execute axes in series.">vtkImageDecomposeFilter</a> filter with default dimensionality 3. <p>Reimplemented from <a class="el" href="a00754.html#8cde810d4cd4a1c33078f85b8ea25d5f">vtkImageDecomposeFilter</a>.</p> </div> </div><p> <a class="anchor" name="d6c0b4698eef9d988c7a787c44309c3a"></a><!-- doxytag: member="vtkImageCityBlockDistance::IterativeRequestUpdateExtent" ref="d6c0b4698eef9d988c7a787c44309c3a" args="(vtkInformation *in, vtkInformation *out)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int vtkImageCityBlockDistance::IterativeRequestUpdateExtent </td> <td>(</td> <td class="paramtype"><a class="el" href="a00872.html">vtkInformation</a> * </td> <td class="paramname"> <em>in</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00872.html">vtkInformation</a> * </td> <td class="paramname"> <em>out</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Reimplemented from <a class="el" href="a00782.html#e39cb15d7b8f1e565a8b7cb21c0e3ee6">vtkImageIterateFilter</a>.</p> </div> </div><p> <a class="anchor" name="7f1fb304b9b35ef77c4d710362a3f08a"></a><!-- doxytag: member="vtkImageCityBlockDistance::IterativeRequestData" ref="7f1fb304b9b35ef77c4d710362a3f08a" args="(vtkInformation *, vtkInformationVector **, vtkInformationVector *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int vtkImageCityBlockDistance::IterativeRequestData </td> <td>(</td> <td class="paramtype"><a class="el" href="a00872.html">vtkInformation</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00895.html">vtkInformationVector</a> ** </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00895.html">vtkInformationVector</a> * </td> <td class="paramname"></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Reimplemented from <a class="el" href="a00782.html#9870e84b814babb902d21fcbd5a2618f">vtkImageIterateFilter</a>.</p> </div> </div><p> <a class="anchor" name="a90472063815a3c805a943604dc34106"></a><!-- doxytag: member="vtkImageCityBlockDistance::AllocateOutputScalars" ref="a90472063815a3c805a943604dc34106" args="(vtkImageData *outData, int *updateExtent, int *wholeExtent)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkImageCityBlockDistance::AllocateOutputScalars </td> <td>(</td> <td class="paramtype"><a class="el" href="a00751.html">vtkImageData</a> * </td> <td class="paramname"> <em>outData</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>updateExtent</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>wholeExtent</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li>dox/Imaging/<a class="el" href="a04676.html">vtkImageCityBlockDistance.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Jun 3 19:08:47 2009 for VTK by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> </body> </html>