[Insight-users] Issues with IO Examples

Agnes Masson-Sibut agnes.massonsibut at gmail.com
Wed Mar 24 05:16:27 EDT 2010


Hi Luis,

Thank you for your answer.
It probably was an incorrect build because it works well since I recompiled
the entire library.
In fact, before that, I got some errors concerning the runtime machine
choice. So I compiled several times ITK (erasing the old version).
But the error disappeared when I rebuilt the project with CMake, and then
recompiled it.

Thanks again,

Agnès


2010/3/23 Luis Ibanez <luis.ibanez at kitware.com>

> Hi Agnes,
>
>
>                       Welcome to ITK !
>
>
> Thanks for the detailed report of the error that you are facing.
>
>
> This seems to be an unusual error.
>
> 1) Can you please post to the list the filenames of the images
>    that you are trying to read ?
>
> 2) The actual error looks more like the result of an incorrect
>     build. Can you please post to the list details about:
>
>      a) The version of your compiler
>      b) Version of ITK that you are using
>      c) Compilation mode that you are using (Release/Debug?)
>      d) Did you get ANY warnings at link time ?
>      e) Are you building ITK as Shared libraries ?
>
>
> 3)  If (e) is true,
>     Then,
>     Any chance that you have multiple builds of ITK
>     in your machine ?
>
>     and that the application if finding old versions
>     of the shared libraries ?
>
>
>    Please let us know,
>
>
>          Thanks
>
>
>               Luis
>
>
>
> --------------------------------------------------------------------------------------------
> On Mon, Mar 22, 2010 at 12:46 PM, Agnes Masson-Sibut
> <agnes.massonsibut at gmail.com> wrote:
> > Hello everybody,
> >
> > I am a new user of the Insight Toolkit, and I have issues to simply read
> and
> > write an image. When I try to execute the exemple ImageReadWrite, I get
> an
> > error inside the CreateImageIO function from itkImageIOFactory file :
> >
> > ImageIOBase::Pointer
> > ImageIOFactory::CreateImageIO(const char* path, FileModeType mode)
> > {
> >
> >   RegisterBuiltInFactories();
> >
> >   std::list<ImageIOBase::Pointer> possibleImageIO;
> >   std::list<LightObject::Pointer> allobjects =
> >     ObjectFactoryBase::CreateAllInstance("itkImageIOBase");
> >   for(std::list<LightObject::Pointer>::iterator i = allobjects.begin();
> >       i != allobjects.end(); ++i)
> >     {
> >     ImageIOBase* io = dynamic_cast<ImageIOBase*>(i->GetPointer());
> >     if(io)
> >       {
> >       possibleImageIO.push_back(io);
> >       }
> >     else
> >       {
> >       std::cerr << "Error ImageIO factory did not return an ImageIOBase:
> "
> >                 << (*i)->GetNameOfClass()
> >                 << std::endl;
> >       }
> >     }
> >   for(std::list<ImageIOBase::Pointer>::iterator k =
> possibleImageIO.begin();
> >       k != possibleImageIO.end(); ++k)
> >     {
> >     if( mode == ReadMode )
> >       {
> >       if((*k)->CanReadFile(path))
> >         {
> >         return *k;
> >         }
> >       }
> >     else if( mode == WriteMode )
> >       {
> >       if(/*(*k)->CanWriteFile(path)*/false)
> >         {
> >         return *k;
> >         }
> >
> >       }
> > ==>    } Here, the list can't be deleted because of a memory issue
> >   return 0;
> > }
> >
> > It seems that the program isn't able to delete the list . Here is the
> call
> > list :
> >
> >      ntdll.dll!7c91120e()
> >      ntdll.dll!7c97e139()
> >      ntdll.dll!7c97e576()
> >      ntdll.dll!7c9722e8()
> >      kernel32.dll!7c85f9a7()
> >     ImageReadWrite.exe!_CrtIsValidHeapPointer(const void *
> > pUserData=0x01790b58)  Ligne 1807    C
> >      ImageReadWrite.exe!_free_dbg_lk(void * pUserData=0x01790b58, int
> > nBlockUse=1)  Ligne 1132 + 0x9    C
> >      ImageReadWrite.exe!_free_dbg(void * pUserData=0x01790b58, int
> > nBlockUse=1)  Ligne 1070 + 0xd    C
> >      ImageReadWrite.exe!operator delete(void * pUserData=0x01790b58)
> Ligne
> > 54 + 0x10    C++
> >
> >
> ImageReadWrite.exe!std::allocator<std::_List_nod<itk::SmartPointer<itk::LightObject>,std::allocator<itk::SmartPointer<itk::LightObject>
> >>
>
> >>::_Node>::deallocate(std::_List_nod<itk::SmartPointer<itk::LightObject>,std::allocator<itk::SmartPointer<itk::LightObject>
> >> >::_Node * _Ptr=0x01790b58, unsigned int __formal=1)  Ligne 132 + 0x9
> > C++
> >
> >
> ImageReadWrite.exe!std::list<itk::SmartPointer<itk::LightObject>,std::allocator<itk::SmartPointer<itk::LightObject>
> >> >::clear()  Ligne 622    C++
> >
> >
> ImageReadWrite.exe!std::list<itk::SmartPointer<itk::LightObject>,std::allocator<itk::SmartPointer<itk::LightObject>
> >> >::_Tidy()  Ligne 931    C++
> >
> >
> ImageReadWrite.exe!std::list<itk::SmartPointer<itk::LightObject>,std::allocator<itk::SmartPointer<itk::LightObject>
> >>
>
> >>::~list<itk::SmartPointer<itk::LightObject>,std::allocator<itk::SmartPointer<itk::LightObject>
> >> >()  Ligne 366 C++
> >      ImageReadWrite.exe!itk::ImageIOFactory::CreateImageIO(const char *
> > path=0x00382a44, itk::ImageIOFactory::FileModeType mode=ReadMode)  Ligne
> 75
> > + 0x26    C++
> >
> >
> ImageReadWrite.exe!itk::ImageFileReader<itk::Image<short,2>,itk::DefaultConvertPixelTraits<short>
> >>::GenerateOutputInformation()  Ligne 118 + 0x1d    C++
> >      ITKCommon.dll!itk::ProcessObject::UpdateOutputInformation()  Ligne
> 751
> > + 0x10    C++
> >      ImageReadWrite.exe!itk::ImageBase<2>::UpdateOutputInformation()
> Ligne
> > 226 + 0x3e    C++
> >      ITKCommon.dll!itk::DataObject::Update()  Ligne 342 + 0xd    C++
> >      ITKCommon.dll!itk::ProcessObject::Update()  Ligne 615 + 0x1a    C++
> >      ImageReadWrite.exe!main(int argc=3, char * * argv=0x003939a0)  Ligne
> > 164 + 0x1e    C++
> >      ImageReadWrite.exe!mainCRTStartup()  Ligne 259 + 0x19    C
> >      kernel32.dll!7c817077()
> >      ntdll.dll!7c925d47()
> >
> > I tried with different image types, but the result is the same. Is the
> bug
> > known ? Is there something I can do to help the thing working out ?
> >
> > Thanks a lot,
> >
> >
> > --
> > Agnès Masson-Sibut
> > Étudiante au doctorat
> > Lissi, Université Paris Est Créteil
> > Aesculap SAS, Dpt R&D Software
> > tél : 06-73-60-52-91
> >
> > _____________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> > http://www.kitware.com/opensource/opensource.html
> >
> > Kitware offers ITK Training Courses, for more information visit:
> > http://www.kitware.com/products/protraining.html
> >
> > Please keep messages on-topic and check the ITK FAQ at:
> > http://www.itk.org/Wiki/ITK_FAQ
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.itk.org/mailman/listinfo/insight-users
> >
> >
>



-- 
Agnès Masson-Sibut
Étudiante au doctorat
Lissi, Université Paris Est Créteil
Aesculap SAS, Dpt R&D Software
tél : 06-73-60-52-91
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20100324/53cbbf6d/attachment-0001.htm>


More information about the Insight-users mailing list