Hi all !<br><br>I&#39;m in trouble with famous &quot;Erreur of segmentation&quot;, I try to read about this problem in different post, but I &#39;m always still in the fog. (not sure about that expression).<br><br>What mean that error : Erreur de segmentation<br>
Is it due to OTB ? Gdal ( I suspect this one) ? or a misstake in the matrix (I&#39;m still not sure of that expression) ? or simply an error in source code ?<br><br>Anyway I&#39;m working on a Debian Etch with Gdal version 1.5.2 and otb 3.0<br>
Thank for explanation.<br><br><br>(The aim of my work is to apply a centered2rigidtransform to an image for which I define the parameters there is my source code in case :<br><br>#include &quot;otbImage.h&quot;<br><br><br>
#include &quot;otbImageFileReader.h&quot;<br>#include &quot;otbImageFileWriter.h&quot;<br><br>#include &quot;itkCenteredRigid2DTransform.h&quot;<br>#include &quot;itkResampleImageFilter.h&quot;<br><br><br>int main( int argc, char *argv[] )<br>
{<br>  if ( argc &lt; 6 )<br>  {<br>    std::cerr &lt;&lt; &quot;Missing Parameters &quot; &lt;&lt; std::endl;<br>    std::cerr &lt;&lt; &quot;Usage: &quot; &lt;&lt; argv[0];<br>    std::cerr &lt;&lt; &quot; ImageFile &quot;;<br>
    std::cerr &lt;&lt; &quot; angle centreRotX centreRotY transX transY &quot;;<br>    std::cerr &lt;&lt; &quot; OutputImageFile&quot;;<br>    std::cerr &lt;&lt; &quot; &quot;&lt;&lt; std::endl;<br>    return EXIT_FAILURE;<br>
  }<br><br><br>const    unsigned int    Dimension = 2;<br>typedef  unsigned short   PixelType;<br><br>typedef otb::Image&lt; PixelType, Dimension &gt;  ImageType;<br>typedef otb::ImageFileReader&lt; ImageType  &gt; ImageReaderType;<br>
<br>ImageReaderType::Pointer  ImageReader  = ImageReaderType::New();<br><br>ImageReader-&gt;SetFileName(  argv[1] );<br>ImageReader-&gt;Update();<br><br>ImageType::Pointer Image = ImageReader-&gt;GetOutput();<br><br>typedef itk::ResampleImageFilter&lt;  ImageType,  ImageType &gt;    ResampleFilterType;<br>
typedef itk::CenteredRigid2DTransform&lt; double &gt; TransformType;<br> <br><br>ResampleFilterType::Pointer resample = ResampleFilterType::New();<br><br>const unsigned int FinalParametersLength = 5;<br>typedef TransformType::ParametersType FinalParametersType;<br>
<br>FinalParametersType Parameters;<br><br>Parameters[0] =atoi(argv[2]);<br><br>Parameters[1] = atoi(argv[3]);<br><br>Parameters[2] = atoi(argv[4]);<br><br>Parameters[3] = atoi(argv[5]);<br><br>Parameters[4] = atoi(argv[6]);<br>
<br>TransformType::Pointer finalTransform = TransformType::New();<br>finalTransform-&gt;SetParameters( Parameters );<br><br>  std::cout &lt;&lt; &quot;Origin  = &quot; &lt;&lt; Image-&gt;GetOrigin() &lt;&lt;std::endl;<br>
  std::cout &lt;&lt; &quot; Spacing  = &quot; &lt;&lt; Image-&gt;GetSpacing()  &lt;&lt; std::endl;<br>  std::cout &lt;&lt; &quot; Size   = &quot; &lt;&lt; Image-&gt;GetLargestPossibleRegion().GetSize()  &lt;&lt; std::endl;<br>
<br>  resample-&gt;SetTransform( finalTransform );<br>  resample-&gt;SetInput( ImageReader-&gt;GetOutput() );<br>  resample-&gt;SetSize( Image-&gt;GetLargestPossibleRegion().GetSize() );<br>  resample-&gt;SetOutputOrigin(  Image-&gt;GetOrigin() );<br>
  resample-&gt;SetOutputSpacing( Image-&gt;GetSpacing() );<br>  resample-&gt;SetDefaultPixelValue( 1 );<br><br> typedef otb::ImageFileWriter &lt; ImageType &gt;  WriterType;<br>WriterType::Pointer      writer =  WriterType::New();<br>
 writer-&gt;SetFileName( argv[7] );<br>  writer-&gt;SetInput( resample-&gt;GetOutput() );<br><br>  try<br>  {<br>    writer-&gt;Update();<br>  }<br>  catch ( itk::ExceptionObject &amp; excp )<br>  {<br>    std::cerr &lt;&lt; &quot;ExceptionObject while writing the resampled image !&quot; &lt;&lt; std::endl;<br>
    std::cerr &lt;&lt; excp &lt;&lt; std::endl;<br>    return EXIT_FAILURE;<br>  }<br>