<div dir="ltr">Hi Guys,<br><br>I am trying to create a c++ class to read a dicom image set. But,my app is crashing with out any errors during building.<br><br>here is the header and source of that class, I am using Qt creator.<br>
<br>Header:<br><br><span style="color: rgb(0, 0, 128); font-family: courier new,monospace;">#ifndef</span><span style="color: rgb(192, 192, 192); font-family: courier new,monospace;"> </span><span style="font-family: courier new,monospace;">MYDCMIMPORTER_H
</span><pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(0, 0, 128);">#define</span><span style="color: rgb(192, 192, 192);"> </span>MYDCMIMPORTER_H</pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(0, 0, 128);">#include</span><span style="color: rgb(0, 128, 0);"><vtkImageData.h></span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(0, 0, 128);">#include</span><span style="color: rgb(0, 128, 0);"><QString></span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(128, 128, 0);">class</span><span style="color: rgb(192, 192, 192);"> </span>myDcmImporter</pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(0, 0, 0);">{</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(128, 128, 0);">public</span><span style="color: rgb(0, 0, 0);">:</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(192, 192, 192);"> </span>myDcmImporter<span style="color: rgb(0, 0, 0);">();</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(192, 192, 192);"> </span>vtkImageData<span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(192, 192, 192);"> </span>imageData<span style="color: rgb(0, 0, 0);">;</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(192, 192, 192);"> </span>vtkImageData<span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(192, 192, 192);"> </span>readImage<span style="color: rgb(0, 0, 0);">();</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(0, 0, 0);">};</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(0, 0, 128);">#endif</span><span style="color: rgb(192, 192, 192);"> </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(192, 192, 192);"> </span><span style="color: rgb(0, 128, 0);">MYDCMIMPORTER_H</span></pre>
<pre style="margin: 0px; text-indent: 0px;"><br></pre>Source:<br><span style="color: rgb(0, 0, 128); font-family: courier new,monospace;">#include</span><span style="color: rgb(192, 192, 192); font-family: courier new,monospace;"> </span><span style="color: rgb(0, 128, 0); font-family: courier new,monospace;">"mydcmimporter.h"</span>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(0, 0, 128);">#include</span><span style="color: rgb(0, 128, 0);"><QFileDialog></span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(0, 0, 128);">#include</span><span style="color: rgb(0, 128, 0);"><QString></span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(0, 0, 128);">#include</span><span style="color: rgb(0, 128, 0);"><vtkDICOMImageReader.h></span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(0, 0, 128);">#include</span><span style="color: rgb(0, 128, 0);"><vtkSmartPointer.h></span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(0, 0, 128);">#include</span><span style="color: rgb(0, 128, 0);"><QDebug></span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;">myDcmImporter<span style="color: rgb(0, 0, 0);">::</span>myDcmImporter<span style="color: rgb(0, 0, 0);">()</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(0, 0, 0);">{</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(0, 0, 0);">}</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;">vtkImageData<span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(192, 192, 192);"> </span>myDcmImporter<span style="color: rgb(0, 0, 0);">::</span>readImage<span style="color: rgb(0, 0, 0);">()</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(0, 0, 0);">{</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(192, 192, 192);"> </span><span style="color: rgb(128, 0, 128);">QString</span><span style="color: rgb(192, 192, 192);"> </span>imageDirName<span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(128, 0, 128);">QFileDialog</span><span style="color: rgb(0, 0, 0);">::</span>getExistingDirectory<span style="color: rgb(0, 0, 0);">();</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(192, 192, 192);"> </span>vtkSmartPointer<span style="color: rgb(192, 192, 192);"> </span><span style="color: rgb(0, 0, 0);"><</span>vtkDICOMImageReader<span style="color: rgb(0, 0, 0);">></span><span style="color: rgb(192, 192, 192);"> </span>reader<span style="color: rgb(0, 0, 0);">=</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(192, 192, 192);"> </span>vtkSmartPointer<span style="color: rgb(0, 0, 0);"><</span>vtkDICOMImageReader<span style="color: rgb(0, 0, 0);">>::</span>New<span style="color: rgb(0, 0, 0);">();</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(192, 192, 192);"> </span>reader<span style="color: rgb(0, 0, 0);">-></span>SetDirectoryName<span style="color: rgb(0, 0, 0);">(</span>imageDirName<span style="color: rgb(0, 0, 0);">.</span>toLatin1<span style="color: rgb(0, 0, 0);">());</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(192, 192, 192);"> </span>reader<span style="color: rgb(0, 0, 0);">-></span>Update<span style="color: rgb(0, 0, 0);">();</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(192, 192, 192);"> </span><span style="color: rgb(128, 128, 0);">this</span><span style="color: rgb(0, 0, 0);">-></span>imageData<span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(192, 192, 192);"> </span>reader<span style="color: rgb(0, 0, 0);">-></span>GetOutput<span style="color: rgb(0, 0, 0);">();</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(0, 0, 0);">}</span></pre>
<pre style="margin: 0px; text-indent: 0px;"><br></pre>App crashes only while executing <br><br><span style="font-family: courier new,monospace;">myDcmImporter</span><span style="color: rgb(192, 192, 192); font-family: courier new,monospace;"> </span><span style="font-family: courier new,monospace;">dcmImporter</span><span style="color: rgb(0, 0, 0); font-family: courier new,monospace;">;</span>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(192, 192, 192);"> </span>dcmImporter<span style="color: rgb(0, 0, 0);">.</span>readImage<span style="color: rgb(0, 0, 0);">();</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(192, 192, 192);"> </span><span style="color: rgb(0, 128, 0);">vtkImageData</span><span style="color: rgb(192, 192, 192);"> </span><span style="color: rgb(0, 128, 0);">*img=dcmImporter.imageData;</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(192, 192, 192);"> </span><span style="color: rgb(128, 128, 0);">int</span><span style="color: rgb(192, 192, 192);"> </span>dims<span style="color: rgb(0, 0, 0);">[</span><span style="color: rgb(0, 0, 128);">3</span><span style="color: rgb(0, 0, 0);">];</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(192, 192, 192);"> </span>dcmImporter<span style="color: rgb(0, 0, 0);">.</span>imageData<span style="color: rgb(0, 0, 0);">-></span>GetDimensions<span style="color: rgb(0, 0, 0);">(</span>dims<span style="color: rgb(0, 0, 0);">);</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(192, 192, 192);"> </span><span style="color: rgb(0, 128, 0);">dcmImporter.imageData->GetDimensions(dims);</span></pre>
<pre style="margin: 0px; text-indent: 0px; font-family: courier new,monospace;"><span style="color: rgb(192, 192, 192);"> </span>qDebug<span style="color: rgb(0, 0, 0);">()<<</span>dims<span style="color: rgb(0, 0, 0);">[</span><span style="color: rgb(0, 0, 128);">0</span><span style="color: rgb(0, 0, 0);">]<<</span><span style="color: rgb(0, 128, 0);">"running..."</span><span style="color: rgb(0, 0, 0);">;</span></pre>
<br clear="all">Since I am new to c++, could be a silly mistake somewhere.<br><br>Thank you<br><br>Jothy<br>-- <br><div dir="ltr">Research Scholar<br>Dept. of Medical Physics<br>Clatterbridge Centre for Oncology<br>UK<br>
</div><br>
</div>