<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:10pt"><div id="yiv0584275477"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 10pt;"><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">Hi,</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9"><br></div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">I have a grayscale image. I want to draw a histogram where x-axis is the nth column (n = image_width -1), and y-axis is the sum of pixel value in each column. How do I pass the y-axis value (std::vector&lt;int&gt; ColSum; ) to the vtkImageAccumulate?</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9"><br></div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">// Read a jpeg image</div><div
 id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">&nbsp; vtkSmartPointer&lt;vtkJPEGReader&gt; reader =</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">&nbsp; &nbsp; vtkSmartPointer&lt;vtkJPEGReader&gt;::New();</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">&nbsp;
 reader-&gt;SetFileName( argv[1] );</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">&nbsp; reader-&gt;Update();</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9"><br></div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">// Convert image to image data</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">&nbsp; vtkSmartPointer&lt;vtkImageData&gt; imageData =</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9"><span class="yiv0584275477Apple-tab-span" style="white-space:pre;">        </span>vtkSmartPointer&lt;vtkImageData&gt;::New();</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">&nbsp; imageData = reader-&gt;GetOutput();</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9"><br></div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">// Compute the sum for each image column&nbsp;</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">&nbsp; std::vector&lt;int&gt;
 ColSum;&nbsp;</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">&nbsp; int image_width = &nbsp;imageData-&gt;GetDimensions()[0];</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">&nbsp; ColSum.resize(width);</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">&nbsp;</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">&nbsp; for(int i = 0; i &lt; image_width; ++i)</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">&nbsp; {</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9"><span class="yiv0584275477Apple-tab-span" style="white-space:pre;">        </span> &nbsp;ColSum[i] = 0;</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9"><span class="yiv0584275477Apple-tab-span" style="white-space:pre;">        </span> &nbsp;for(int j = 0; j &lt; height; ++j)</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9"><span class="yiv0584275477Apple-tab-span" style="white-space:pre;">        </span> &nbsp;{</div><div
 id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9"><span class="yiv0584275477Apple-tab-span" style="white-space:pre;">                </span> &nbsp;ColSum[i] += imageData-&gt;GetScalarComponentAsDouble(i,j, 0, 0);</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9"><span class="yiv0584275477Apple-tab-span" style="white-space:pre;">        </span>
 &nbsp;}</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">&nbsp; }</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9"><br id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_15"></div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9" style="color: rgb(0, 0, 0); font-size: 13px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style: normal;">// Draw histogram</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">&nbsp; vtkSmartPointer&lt;vtkImageAccumulate&gt; histogram =</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">&nbsp; &nbsp; vtkSmartPointer&lt;vtkImageAccumulate&gt;::New();</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">&nbsp; // ??? How to convert&nbsp;<span style="font-size: 10pt;">&nbsp;"</span><span style="font-size: 10pt;">ColSum" to vtkImageAccumulate &nbsp;here?</span></div><div
 id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9"><br></div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">&nbsp; ...</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9"><br></div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9"><br></div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">Regards,</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9">Harold</div><div id="yiv0584275477yui_3_13_0_ym1_7_1389094084864_9"><br></div></div></div></div></div></body></html>