<div dir="ltr">Hello. I want to calculate Mattes mutual information of two images. I created a mattes metric<div><br></div><div><div>  metric = MetricType::New();</div><div><br></div><div>  metric->SetTransform(<wbr>rigidtransform);</div><div><br></div><div>  metric->SetUseAllPixels(true);</div><div>  </div><div>  </div><div>  </div><div>  const unsigned int numberOfParameters = rigidtransform-><wbr>GetNumberOfParameters();</div><div>  </div><div>  </div><div>  metric->SetFixedImage(<wbr>fixedImage);</div><div>  metric->SetMovingImage(<wbr>movingImage);</div><div>  metric->SetFixedImageRegion(<wbr>fixedImage-><wbr>GetLargestPossibleRegion());</div><div>  metric-><wbr>SetNumberOfFixedImageSamples(<wbr>10000);</div><div>  metric-><wbr>SetNumberOfHistogramBins(50);</div><div>  metric-><wbr>SetNumberOfSpatialSamples(<wbr>10000);</div><div>  metric->SetNumberOfThreads(12)<wbr>;</div></div><div><br></div><div><br></div><div>I set metric from the begining as a global variable. Then I wrote a function called</div><div><br></div><div><div>MetricType::MeasureType test(double *arg ){</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">     </span>//printf("test\n");</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">  </span>MetricType::MeasureType v;</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">     </span>int i;</div><div><span class="gmail-Apple-tab-span" style="white-space:pre"> </span>double a, e, f;</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>a = arg[0];</div><div><br></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">   </span>e = arg[1];</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">    </span>f = arg[2];</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">    </span>rigidtransform->SetAngle(a);</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>RigidTransformType::OutputVectorType t = rigidtransform->GetTranslation();</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">  </span>t[0] = e;</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>t[1] = f;</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>rigidtransform->SetTranslation(t);</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">  </span></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">       </span>metric->UseAllPixelsOn();</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">   </span>metric->SetTransform(rigidtransform);</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">       </span></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">       </span></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">       </span></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">       </span></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">       </span>try{</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">           </span>v = metric->GetValue(rigidtransform->GetParameters());</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">   </span>}</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>catch (itk::ExceptionObject & err){</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                </span></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                       </span></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">               </span>v = 1;</div><div><span class="gmail-Apple-tab-span" style="white-space:pre"> </span>}</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">       </span></div><div><br></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>return v;</div><div>}</div></div><div><br></div><div>Whenever I call the test function test with arguments:</div><div><br></div><div><div>double p[3];</div><div>  p[0] = 0;</div><div>  p[1] = 0;</div><div>  p[2] = 0;</div></div><div><br></div><div>The programm shows an unhandled exception due to Access Violation reading, which doesn't make sense. What could be the problem?</div><div><br></div><div>Thanks in advance</div></div>