<div dir="ltr">Hi Berti,<div><br></div><div>The correct pad filter to use for this is "vtkImageConstantPad", not "WrapPad", but padding really isn't necessary.  Neither is the use of cell scalars, it's more appropriate to use point scalars when working with image data since each voxel is represented as a point scalar.</div><div><br></div><div>The threshold should be set like this, for a threshold halfway between your "inval" and "outval":</div><div><br></div><div>  selector->ThresholdByUpper(0.<wbr>5*(startLabel + endLabel));</div><div><br></div><div>The lookup table wasn't correctly set. Calling SetRange() does not set the number of entries in the lookup table (by default, the lookup table has 256 entries). </div><div><br></div><div><div>  lut->SetTableRange(0, 1);</div><div>  lut->SetNumberOfColors(2);</div><div><br></div></div><div>Also, your color for "1" was transparent, whereas it has to be opaque in order to properly see a scalar-colored cone.</div><div><br></div><div><br></div><div><br></div><div>I stripped the visualization part of your pipeline down to the following.  No padding is done, the thresholding uses point scalars, no shifting, and no lookup table (instead, I call ScalarVisibilityOff() and set the color via the actor's property object).  I replaced vtkPolyDataMapper with vtkDataSetMapper, which automatically skins the data.</div><div><br></div><div><br></div><div><div>  unsigned char startLabel = outval;</div><div>  unsigned char endLabel = inval;</div><div><br></div><div>  vtkNew<vtkThreshold> selector;</div><div>  // the call to SetInputArrayToProcess() isn't necessary, the default is fine</div><div>  //selector->SetInputArrayToProcess(0, 0, 0,</div><div>  //                                 vtkDataObject::FIELD_ASSOCIATION_POINTS,</div><div>  //                                 vtkDataSetAttributes::SCALARS);</div><div>  selector->SetInputData(voxelImage);</div><div>  selector->ThresholdByUpper(0.5*(startLabel + endLabel));</div><div>  selector->Update();</div><div>    </div><div>  vtkNew<vtkDataSetMapper> mapper;</div><div>  mapper->SetInputConnection(selector->GetOutputPort());</div><div>  mapper->ScalarVisibilityOff();</div><div><br></div><div>  vtkNew<vtkActor> actor;</div><div>  actor->SetMapper(mapper);</div><div>  actor->GetProperty()->SetColor(0.0, 1.0, 0.0);</div></div><div><br></div><div><br></div><div>An image of the resulting cone is attached.</div><div><br></div><div> - David</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jun 5, 2018 at 1:26 AM, Berti Krüger <span dir="ltr"><<a href="mailto:berti_krueger@hotmail.com" target="_blank">berti_krueger@hotmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div dir="ltr">
<div id="m_-1987466976276712091divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif" dir="ltr">
<p style="margin-top:0;margin-bottom:0">Hi David,</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">thank you very much for your help.</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">I tried the example from your link. Unfortunately the result is same as using the <span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">vtkVoxelModeller:</span></p>
<p style="margin-top:0;margin-bottom:0"><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"><br>
</span></p>
<p style="margin-top:0;margin-bottom:0"><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"><img size="62429" id="m_-198746697627671209174177_rs|1" style="height:180px;width:177.559px" alt="Screenshot result voxelization" src="cid:a95b0d63-3644-4f6c-a69e-4c61f567008b"><br>
I get only a voxelization of the surface. The interior of the voxelized cone is still hollow and not filled with voxels (at least this is implied by the visualization).</span></p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0"><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">For the visualization i use
 Bill Lorensen's example code from here:</span></p>
<p style="margin-top:0;margin-bottom:0"><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"><a href="https://lorensen.github.io/VTKExamples/site/Cxx/Medical/GenerateCubesFromLabels/" class="m_-1987466976276712091OWAAutoLink" id="m_-1987466976276712091LPlnk363920" target="_blank">https://lorensen.github.io/<wbr>VTKExamples/site/Cxx/Medical/<wbr>GenerateCubesFromLabels/</a></span></p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">I have attached this small example which compiles with VTK 8.1 to show the issue. It basicly only consist of the example code from your link (<a href="https://lorensen.github.io/VTKExamples/site/Cxx/PolyData/PolyDataToImageData/" class="m_-1987466976276712091OWAAutoLink" id="m_-1987466976276712091LPlnk404825" target="_blank">https://lorensen.github.io/<wbr>VTKExamples/site/Cxx/PolyData/<wbr>PolyDataToImageData/</a>)
 and the visualization code from the <span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">
 Bill Lorensen's </span>example from the link above. I have not changed much.</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">
Any idea what is going wrong or what can i do get also voxelization of the interior (solid voxelization)?</p>
<p style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">
<br>
</p>
<p style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">
Thank you very much in advance.<br>
</p>
<p style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">
<br>
</p>
<p style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">
<br>
</p>
<p style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">
Regards</p>
<p style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">
<br>
</p>
<p style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">
Berti</p>
<br>
<p></p>
<div id="m_-1987466976276712091LPBorder_GT_15281833117650.8290773938385372" style="margin-bottom:20px;overflow:auto;width:100%;text-indent:0px">
<table id="m_-1987466976276712091LPContainer_15281833117620.998455981750586" cellspacing="0" style="width:90%;background-color:rgb(255,255,255);overflow:auto;padding-top:20px;padding-bottom:20px;margin-top:20px;border-top:1px dotted rgb(200,200,200);border-bottom:1px dotted rgb(200,200,200)">
<tbody>
<tr valign="top" style="border-spacing:0px">
<td id="m_-1987466976276712091TextCell_15281833117630.7162433691659855" colspan="2" style="vertical-align:top;padding:0px;display:table-cell">
<div id="m_-1987466976276712091LPRemovePreviewContainer_15281833117630.7479412574113244"></div>
<div id="m_-1987466976276712091LPTitle_15281833117630.11207222027314834" style="color:rgb(0,120,215);font-weight:400;font-size:21px;font-family:wf_segoe-ui_light,"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;line-height:21px">
<a id="m_-1987466976276712091LPUrlAnchor_15281833117640.4873239557716311" href="https://lorensen.github.io/VTKExamples/site/Cxx/PolyData/PolyDataToImageData/" style="text-decoration:none" target="_blank">PolyDataToImageData - lorensen.github.io</a></div>
<div id="m_-1987466976276712091LPMetadata_15281833117640.37822664008060847" style="margin:10px 0px 16px;color:rgb(102,102,102);font-weight:400;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-size:14px;line-height:14px">
<a href="http://lorensen.github.io" target="_blank">lorensen.github.io</a></div>
<div id="m_-1987466976276712091LPDescription_15281833117650.4396140244786022" style="display:block;color:rgb(102,102,102);font-weight:400;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-size:14px;line-height:20px;max-height:100px;overflow:hidden">
If VTK is not installed but compiled on your system, you will need to specify the path to your VTK build:</div>
</td>
</tr>
</tbody>
</table>
</div>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0"></p>
<p style="margin-top:0;margin-bottom:0"><br>
<span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"></span></p>
<div id="m_-1987466976276712091LPBorder_GT_15281830212730.19571757144054258" style="margin-bottom:20px;overflow:auto;width:100%;text-indent:0px">
<table id="m_-1987466976276712091LPContainer_15281830212680.2908008045569357" cellspacing="0" style="width:90%;background-color:rgb(255,255,255);overflow:auto;padding-top:20px;padding-bottom:20px;margin-top:20px;border-top:1px dotted rgb(200,200,200);border-bottom:1px dotted rgb(200,200,200)">
<tbody>
<tr valign="top" style="border-spacing:0px">
<td id="m_-1987466976276712091TextCell_15281830212690.8926952595787887" colspan="2" style="vertical-align:top;padding:0px;display:table-cell">
<div id="m_-1987466976276712091LPRemovePreviewContainer_15281830212690.06972281538914005"></div>
<div id="m_-1987466976276712091LPTitle_15281830212690.8554042823458445" style="color:rgb(0,120,215);font-weight:400;font-size:21px;font-family:wf_segoe-ui_light,"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;line-height:21px">
<a id="m_-1987466976276712091LPUrlAnchor_15281830212700.4541454976346706" href="https://lorensen.github.io/VTKExamples/site/Cxx/Medical/GenerateCubesFromLabels/" style="text-decoration:none" target="_blank">GenerateCubesFromLabels - GitHub Pages</a></div>
<div id="m_-1987466976276712091LPMetadata_15281830212710.7303898190223084" style="margin:10px 0px 16px;color:rgb(102,102,102);font-weight:400;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-size:14px;line-height:14px">
<a href="http://lorensen.github.io" target="_blank">lorensen.github.io</a></div>
<div id="m_-1987466976276712091LPDescription_15281830212720.03673246019722454" style="display:block;color:rgb(102,102,102);font-weight:400;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-size:14px;line-height:20px;max-height:100px;overflow:hidden">
Usage: GenerateCubesFromLabels FullHead.mhd StartLabel EndLabel where InputVolume is a meta file containing a 3 volume of discrete labels.</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
<br>
<p></p>
<br>
<br>
<div style="color:rgb(0,0,0)">
<hr style="display:inline-block;width:98%">
<div id="m_-1987466976276712091divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>Von:</b> David Gobbi <<a href="mailto:david.gobbi@gmail.com" target="_blank">david.gobbi@gmail.com</a>><br>
<b>Gesendet:</b> Montag, 28. Mai 2018 23:13<br>
<b>An:</b> Berti Krüger<br>
<b>Cc:</b> <a href="mailto:vtkusers@vtk.org" target="_blank">vtkusers@vtk.org</a><br>
<b>Betreff:</b> Re: [vtkusers] Solid Voxelization with VTK</font>
<div> </div>
</div>

<div>
<div dir="ltr"><span class="">Hi Berti,
<div><br>
</div>
<div>If its a triangulated surface that you want to fill with voxels, use vtkPolyDataToImageStencil:</div>
</span><div><a href="https://lorensen.github.io/VTKExamples/site/Cxx/PolyData/PolyDataToImageData/" id="m_-1987466976276712091LPlnk739546" class="m_-1987466976276712091OWAAutoLink" target="_blank">https://lorensen.github.io/VTK<wbr>Examples/site/Cxx/PolyData/Pol<wbr>yDataToImageData/</a>
<div id="m_-1987466976276712091LPBorder_GT_15281827222900.5768444366185992" style="margin-bottom:20px;overflow:auto;width:100%;text-indent:0px">
<table id="m_-1987466976276712091LPContainer_15281827222880.1720837682516725" cellspacing="0" style="width:90%;background-color:rgb(255,255,255);overflow:auto;padding-top:20px;padding-bottom:20px;margin-top:20px;border-top:1px dotted rgb(200,200,200);border-bottom:1px dotted rgb(200,200,200)">
<tbody>
<tr valign="top" style="border-spacing:0px">
<td id="m_-1987466976276712091TextCell_15281827222880.3075843818124815" colspan="2" style="vertical-align:top;padding:0px;display:table-cell">
<div id="m_-1987466976276712091LPRemovePreviewContainer_15281827222890.26507692091733137"><a id="m_-1987466976276712091LPlnk916915" class="m_-1987466976276712091ms-Icon--x m_-1987466976276712091ms-icon-font-size-14 m_-1987466976276712091OWAAutoLink" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-weight:normal;padding:8px;float:right;color:rgb(102,102,102);background-color:rgb(239,246,252);margin-left:10px"></a></div>
<div id="m_-1987466976276712091LPTitle_15281827222890.533190778266545" style="color:rgb(0,120,215);font-weight:400;font-size:21px;font-family:wf_segoe-ui_light,"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;line-height:21px">
<a id="m_-1987466976276712091LPUrlAnchor_15281827222890.6099967433628164" href="https://lorensen.github.io/VTKExamples/site/Cxx/PolyData/PolyDataToImageData/" style="text-decoration:none" target="_blank">PolyDataToImageData - lorensen.github.io</a></div>
<div id="m_-1987466976276712091LPMetadata_15281827222890.7452275815734757" style="margin:10px 0px 16px;color:rgb(102,102,102);font-weight:400;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-size:14px;line-height:14px">
<a href="http://lorensen.github.io" target="_blank">lorensen.github.io</a></div>
<div id="m_-1987466976276712091LPDescription_15281827222900.21981643030984221" style="display:block;color:rgb(102,102,102);font-weight:400;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-size:14px;line-height:20px;max-height:100px;overflow:hidden">
If VTK is not installed but compiled on your system, you will need to specify the path to your VTK build:</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
<br>
</div><span class="">
<div><br>
</div>
<div>If its a mesh of 3D elements and you want to sample the elements to create voxels, try vtkResampleToImage.</div>
<div><br>
</div>
<div> - David</div>
<div><br>
</div>
<div><br>
<div class="m_-1987466976276712091x_gmail_extra"><br>
<div class="m_-1987466976276712091x_gmail_quote">On Mon, May 28, 2018 at 4:41 PM, Berti Krüger <span dir="ltr">
<<a href="mailto:berti_krueger@hotmail.com" id="m_-1987466976276712091LPlnk570911" class="m_-1987466976276712091OWAAutoLink" target="_blank">berti_krueger@hotmail.com</a>></span> wrote:<br>
<blockquote class="m_-1987466976276712091x_gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Hello Everyone.<br>
<br>
For my Project i have to voxelize a 3D-Triangle-Mesh. I already found the<br>
vtkVoxelModeller which, while somewhat slow (only around 200 Triangles per<br>
second), works, but only voxelizes the outer shell where the mesh boundary<br>
triangles are. The inner part of the mesh stays hollow. <br>
<br>
Is there some way to get solid voxelization of 3D-Triangle-Meshes out of the<br>
box with VTK ?<br>
<br>
<br>
Thank you very much in advance,<br>
<br>
Berti<br>
</blockquote>
</div>
</div>
</div>
</span></div>
</div>
</div>
</div>
</div>

</blockquote></div><br></div>