<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div>Hi, </div><div>I wonder why result from below code are different:</div><div>-----------------Code 1: using vtkDICOMImageReader  --------------------------</div><div><div><b><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">    </span>vtkDICOMImageReader *reader = vtkDICOMImageReader::New();</b></div><div><b><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">  </span>reader->SetDirectoryName("***");  <----- DICOM folder</b></div></div><div><br></div><div>        <span style="line-height: 23.8px;">// After get reader, all below are same</span></div><div><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">      </span>vtkSmartPointer<vtkMarchingCubes> boneExtraractor = vtkSmartPointer<vtkMarchingCubes>::New();</div><div><div><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">  </span>boneExtraractor->SetInputConnection(reader->GetOutputPort());</div><div><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">   </span>boneExtraractor->GenerateValues(1, 200, 3097);</div></div><div><div><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">      </span>vtkSmartPointer<vtkPolyDataNormals> boneNormals = vtkSmartPointer<vtkPolyDataNormals>::New();</div><div><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">     </span>boneNormals->SetInputConnection(boneExtraractor->GetOutputPort());</div><div><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">      </span>boneNormals->SetFeatureAngle(60.0);</div><div><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">        </span>vtkSmartPointer<vtkStripper> boneStripper = vtkSmartPointer<vtkStripper>::New();</div><div><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">  </span>boneStripper->SetInputConnection(boneNormals->GetOutputPort());</div><div><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;"> </span>vtkSmartPointer<vtkPolyDataMapper> boneMapper = vtkSmartPointer<vtkPolyDataMapper>::New();</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>boneMapper->SetInputConnection(boneNormals->GetOutputPort());</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>boneMapper->ScalarVisibilityOff();</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>vtkSmartPointer<vtkActor> bone = vtkSmartPointer<vtkActor>::New();</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>bone->SetMapper(boneMapper);</div><div><span class="Apple-tab-span" style="white-space:pre">      </span>vtkRenderer *aRenderer = vtkRenderer::New();</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>vtkRenderWindow *renWin = vtkRenderWindow::New();</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>renWin->AddRenderer(aRenderer);</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>iren->SetRenderWindow(renWin);</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>aRenderer->AddActor(bone);</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>renWin->Render();</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>iren->Initialize();</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>iren->Start();</div></div><div><br></div><div>Result: please see attache screenshot: vtkDICOMImageReader.png</div><div><br></div><div><span style="line-height: 23.8px;">-----------------Code 2: using </span>vtkDICOMReader<span style="line-height: 23.8px;">--------------------------</span></div><div><div> <b>       vtkSmartPointer<vtkStringArray> filenames = ****;        //<span style="line-height: 23.8px;"><----- Fill DICOM files</span></b></div><div><div><b><span class="Apple-tab-span" style="line-height: 1.7; white-space: pre;"> </span><span style="line-height: 1.7;">vtkSmartPointer <vtkDICOMFileSorter> sorter = vtkSmartPointer <vtkDICOMFileSorter>::New();</span></b></div><div><b><span class="Apple-tab-span" style="white-space:pre">       </span>sorter->SetInputFileNames(filenames);</b></div><div><b><span class="Apple-tab-span" style="white-space:pre">  </span>sorter->Update();</b></div><div><b><span class="Apple-tab-span" style="line-height: 1.7; white-space: pre;">  </span><span style="line-height: 1.7;">int ns= sorter->GetNumberOfSeries();</span></b></div><div><b><span class="Apple-tab-span" style="white-space:pre">      </span>int si= 0;</b></div><div><b><span class="Apple-tab-span" style="white-space:pre">        </span>for (int i = 0; i<<span style="line-height: 23.8px;">ns</span>; i++) {</b></div><div><b><span class="Apple-tab-span" style="white-space:pre">           </span>if (sorter->GetFileNamesForSeries(i)->GetNumberOfValues() > sorter->GetFileNamesForSeries(<span style="line-height: 23.8px;">si</span>)->GetNumberOfValues()) {</b></div><div><b><span class="Apple-tab-span" style="white-space:pre">                      </span><span style="line-height: 23.8px;">si</span>= i;</b></div><div><b><span class="Apple-tab-span" style="white-space:pre">            </span>}</b></div><div><b><span class="Apple-tab-span" style="white-space:pre"> </span>}</b></div><div><b><span class="Apple-tab-span" style="white-space:pre"> </span>vtkStringArray *sf= sorter->GetFileNamesForSeries(<span style="line-height: 23.8px;">si</span>);</b></div><div><b><span class="Apple-tab-span" style="white-space:pre"> </span>vtkDICOMReader *reader = vtkDICOMReader::New();</b></div><div><b><span class="Apple-tab-span" style="white-space:pre">   </span>reader->RemoveAllInputs();</b></div><div><b><span class="Apple-tab-span" style="white-space:pre">     </span>reader->SetFileNames(sf);</b></div><div><b><span class="Apple-tab-span" style="white-space:pre">      </span>reader->AutoRescaleOff();</b></div><div><b><span class="Apple-tab-span" style="white-space:pre">      </span>reader->Update();</b></div></div></div><div><div style="line-height: 23.8px;"><br></div><div style="line-height: 23.8px;">        // After get reader, all below are same</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">     </span>vtkSmartPointer<vtkMarchingCubes> boneExtraractor = vtkSmartPointer<vtkMarchingCubes>::New();</div><div style="line-height: 23.8px;"><div><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">   </span>boneExtraractor->SetInputConnection(reader->GetOutputPort());</div><div><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">   </span>boneExtraractor->GenerateValues(1, 200, 3097);</div></div><div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">       </span>vtkSmartPointer<vtkPolyDataNormals> boneNormals = vtkSmartPointer<vtkPolyDataNormals>::New();</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">      </span>boneNormals->SetInputConnection(boneExtraractor->GetOutputPort());</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">       </span>boneNormals->SetFeatureAngle(60.0);</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;"> </span>vtkSmartPointer<vtkStripper> boneStripper = vtkSmartPointer<vtkStripper>::New();</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">   </span>boneStripper->SetInputConnection(boneNormals->GetOutputPort());</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="line-height: 23.8px; white-space: pre;">  </span>vtkSmartPointer<vtkPolyDataMapper> boneMapper = vtkSmartPointer<vtkPolyDataMapper>::New();</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="white-space: pre;">      </span>boneMapper->SetInputConnection(boneNormals->GetOutputPort());</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="white-space: pre;"> </span>boneMapper->ScalarVisibilityOff();</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="white-space: pre;">       </span>vtkSmartPointer<vtkActor> bone = vtkSmartPointer<vtkActor>::New();</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="white-space: pre;">      </span>bone->SetMapper(boneMapper);</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="white-space: pre;">     </span>vtkRenderer *aRenderer = vtkRenderer::New();</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="white-space: pre;">        </span>vtkRenderWindow *renWin = vtkRenderWindow::New();</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="white-space: pre;">   </span>renWin->AddRenderer(aRenderer);</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="white-space: pre;">  </span>vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="white-space: pre;"> </span>iren->SetRenderWindow(renWin);</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="white-space: pre;">   </span>aRenderer->AddActor(bone);</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="white-space: pre;">       </span>renWin->Render();</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="white-space: pre;">        </span>iren->Initialize();</div><div style="line-height: 23.8px;"><span class="Apple-tab-span" style="white-space: pre;">      </span>iren->Start();</div><div style="line-height: 23.8px;"><br></div><div><span style="line-height: 23.8px;">Result: please see attache screenshot: </span>vtkDICOMReader<span style="line-height: 23.8px;">.png</span></div></div></div><div><span style="line-height: 23.8px;">===============================</span></div><div><span style="line-height: 23.8px;">the result from vtkDICOMImageReader is what I expected. and the result from </span>vtkDICOMImageReader  seems only skin is visuable, and bone is invisable.</div><div>any body can tell me why?  how should I update the code of vtkDICOMReader to visualize the bone structure?</div><div><br></div><div>Thanks </div><div>James</div><div><span style="line-height: 23.8px;"><br></span></div></div><br><br><span title="neteasefooter"><p> </p></span>