[Insight-users] problem with Morphogenesis

Luis Ibanez luis.ibanez at kitware.com
Tue Jan 24 17:05:52 EST 2006



Hi Pavel


                  Thanks for pointing this out.


                      You just found a bug !


This bug seems to have been introduced recently when we replaced
the use of clock() functions with calls to the itk::RealTimeClock.


The bug is that we use a SmartPointer to a RealTimeClock but never
create it by invoking the New() operator.

This has now been fixed in the CVS repository:

http://www.itk.org/cgi-bin/viewcvs.cgi/Morphogenesis/CellsViewerBase.cxx?root=InsightApplications&sortby=date&r2=1.28&r1=1.27

In order to fix it in your local copy, you can update your CVS
checkout, or you could simply add the following line to the
constructor of the CellsViewerBase class in the file


            InsightApplications/
                     Morphogenesis/
                          CellsViewerBase.cxx



Note that this is not the traditional approach of Cellular Automata
that is implemented using the pixels of an image as the automata.
In this case we use the nodes of an itk::Mesh as the automata. In this
way we can easily insert and remove nodes (cells) from that mesh.


One direction that we were anticipating to explore was to actually
program the cells using a synthetic Gene Network, such as the one
proposed by Platzer at the German Cancer Research Center (DKFZ)


        http://mbi.dkfz-heidelberg.de/projects/cellsim/


In that way, the State Machine controlling the behavior of the cell
will be defined by the interactions between the Genes and their
protein products.

So far the State Machine of each one of the automata is pretty much
hard coded according to the species that you select.



If you are interested in this area, you may want to try also the
CellularSegmentation example that is available in the directory:


              InsightApplications/
                           CellularSegmentation/


This is a more recent example application than "Morphogenesis".



Other applications of traditional Cellular Automata approaches can
be used in the Voting filters and the Hole Filling filters. You
will find descriptions of these filter in the ITK Software Guide



         http://www.itk.org/ItkSoftwareGuide.pdf




   Please let us know if you find any problems.



      Thanks



          Luis




--------------------
Pavel Tomancak wrote:
> My experience with C++ is very limited, so some of this may sound a bit  
> naive. I am a biologist after all.
> 
> I downloaded InsightToolkit-2.4.0 and compiled it into  
> /Applications/itk_binary on Mac OS X 10.3.9 with Xcode 1.5 and upgraded  
> gcc to 3.3. I used the default cmake options, no Examples, no Tests.
> 
> Everything seems fine after make, which I suspect means nothing. Hello  
> World works.
> 
> Now, I downloaded the InsightApplications-2.4.0, meddled slightly with  
> CMakeLists.txt to skip to the Morphogenesis part. (I comment every  
> SUBDIR before Morphogenesis, otherwise it takes too long to get there,  
> couldn't figure any other way).
> 
> I installed fltk-1.1.7 and pointed cmake to it, I also change the  
> USE_FLTK to ON.
> 
> Now I run make in the dir where I unpackaged the InsightApplication,  
2> again everything seems fine, voila - a Morphogenesis application 
appears.
> 
> It starts, windows appear, images can be loaded, zoomed and so on. I  
> can create any species egg I want, but, now it comes, after clicking on  
> play it invariantly crashes.
> 
> Below please find the error messages which are truly incomprehensible  
> to me. They are not always the same, but often there is a line like  this
> 
> 0   libITKCommon.dylib                 0x013a1228  
> itk::RealTimeClock::GetTimeStamp() const + 0x78
> 
> I would appreciate any help, this whole application of cellular  
> automata to image processing is totally fascinating. I am very eager to  
> try it on my images.
> 
> Thanks in advance
> 
> PAvel
> 
> Here comes the error message
> 
> Date/Time:      2006-01-24 17:57:06 +0100
> OS Version:     10.3.9 (Build 7W98)
> Report Version: 2
> 
> Command: Morphogenesis
> Path:     
> /Users/tomancak/Desktop/InsightApplications-2.4.0/Morphogenesis/ 
> Morphogenesis
> Version: ??? (???)
> PID:     10843
> Thread:  0
> 
> Exception:  EXC_BAD_ACCESS (0x0001)
> Codes:      KERN_PROTECTION_FAILURE (0x0002) at 0x00000048
> 
> Thread 0 Crashed:
> 0   libITKCommon.dylib                 0x013a1228  
> itk::RealTimeClock::GetTimeStamp() const + 0x78
> 1   Morphogenesis                      0x00007eb8  
> bio::CellsViewerBase::GetElapsedTime() const + 0x34
> 2   Morphogenesis                      0x00009708  
> bio::CellsViewerCommand::Execute(itk::Object const*, itk::EventObject  
> const&) + 0xd4
> 3   Morphogenesis                      0x00009828  
> bio::CellsViewerCommand::Execute(itk::Object*, itk::EventObject const&)  
> + 0x50
> 4   libITKCommon.dylib                 0x01396f74  
> itk::SubjectImplementation::InvokeEvent(itk::EventObject const&,  
> itk::Object*) + 0xe8
> 5   libITKCommon.dylib                 0x0139802c  
> itk::Object::InvokeEvent(itk::EventObject const&) + 0x40
> 6   Morphogenesis                      0x0000b47c  
> bio::CellularAggregate::AdvanceTimeStep() + 0x1cc
> 7   Morphogenesis                      0x0000782c  
> bio::CellsViewerBase::Run() + 0xbc
> 8   Morphogenesis                      0x00009204 
> bio::CellsViewer::Run()  + 0x20
> 9   Morphogenesis                      0x00010a00  
> CellsViewerGUI::cb_3_i(Fl_Button*, void*) + 0x40
> 10  Morphogenesis                      0x00010a58  
> CellsViewerGUI::cb_3(Fl_Button*, void*) + 0x44
> 11  Morphogenesis                      0x0004061c Fl_Button::handle(int) 
> +  0x3cc
> 12  Morphogenesis                      0x00021998 send(int, Fl_Widget*,  
> Fl_Window*) + 0xc0
> 13  Morphogenesis                      0x00021cf4 Fl::handle(int,  
> Fl_Window*) + 0x33c
> 14  Morphogenesis                      0x00024268  
> carbonMouseHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*)  
> + 0x2dc
> 15  <<00000000>>     0x92882e50 0 + 0x92882e50
> 16  <<00000000>>     0x928830c4 0 + 0x928830c4
> 17  <<00000000>>     0x92895530 0 + 0x92895530
> 18  Morphogenesis                      0x0002342c  
> carbonDispatchHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*,  
> void*) + 0xf0
> 19  <<00000000>>     0x92882e50 0 + 0x92882e50
> 20  <<00000000>>     0x928830c4 0 + 0x928830c4
> 21  <<00000000>>     0x92895530 0 + 0x92895530
> 22  Morphogenesis                      0x000238a4 
> do_queued_events(double)  + 0x178
> 23  Morphogenesis                      0x00023998 fl_wait(double) + 0x1c
> 24  Morphogenesis                      0x00020f1c Fl::wait(double) + 0x84
> 25  Morphogenesis                      0x00020f8c Fl::run() + 0x38
> 26  Morphogenesis                      0x0000facc main + 0x34c
> 27  Morphogenesis                      0x00003204 _start + 0x188  
> (crt.c:267)
> 28  dyld                               0x8fe1a278 _dyld_start + 0x64
> 
> Thread 1:
> 0   libSystem.B.dylib                  0x900078b8 mach_msg_trap + 0x8
> 1   libSystem.B.dylib                  0x90007438 mach_msg + 0x38
> 2   com.unsanity.ape                   0xc0002c14 __ape_internal + 0xce4
> 3   com.unsanity.ape                   0xc0001a28 __ape_agent + 0x40
> 4   libSystem.B.dylib                  0x90024990 _pthread_body + 0x28
> 
> Thread 2:
> 0   libSystem.B.dylib                  0x900078b8 mach_msg_trap + 0x8
> 1   libSystem.B.dylib                  0x90007438 mach_msg + 0x38
> 2   ...lagutin.audio_hijack.server     0x01194e60 ah_serv_loop + 0x58
> 3   libSystem.B.dylib                  0x90024990 _pthread_body + 0x28
> 
> PPC Thread State:
>   srr0: 0x013a1228 srr1: 0x0200f030                vrsave: 0x00000000
>     cr: 0x82822222  xer: 0x20000004   lr: 0x013a11dc  ctr: 0x90008b60
>     r0: 0x800eeea0   r1: 0xbffff040   r2: 0x00000000   r3: 0x00000000
>     r4: 0x00000000   r5: 0x00000000   r6: 0x0006b2df   r7: 0x43d65c61
>     r8: 0x000eeea0   r9: 0x015311c8  r10: 0x43300000  r11: 0x007b77ee
>    r12: 0x000f4240  r13: 0x00000000  r14: 0x00000000  r15: 0x00000000
>    r16: 0x00000000  r17: 0x00000000  r18: 0x00000000  r19: 0x00000000
>    r20: 0x00000002  r21: 0x00000000  r22: 0x0396b290  r23: 0x03929a00
>    r24: 0xbffff7c0  r25: 0x00000030  r26: 0x0000002f  r27: 0x00128a3c
>    r28: 0x00128a40  r29: 0xbffff310  r30: 0xbffff040  r31: 0x013a11c8
> 
> Binary Images Description:
>     0x1000 -   0x126fff Morphogenesis  
>     /Users/tomancak/Desktop/InsightApplications-2.4.0/Morphogenesis/ 
> Morphogenesis
>   0x24c000 -   0x24dfff libITKznz.dylib  
>     /Applications/itk_binary/bin/libITKznz.dylib
>   0x267000 -   0x282fff libITKniftiio.dylib  
>     /Applications/itk_binary/bin/libITKniftiio.dylib
>   0x298000 -   0x2c8fff libITKNrrdIO.dylib  
>     /Applications/itk_binary/bin/libITKNrrdIO.dylib
>   0x2e8000 -   0x2fafff libitkzlib.dylib  
>     /Applications/itk_binary/bin/libitkzlib.dylib
>   0x405000 -   0x43bfff libitkjpeg12.dylib  
>     /Applications/itk_binary/bin/libitkjpeg12.dylib
>   0x444000 -   0x47afff libitkjpeg16.dylib  
>     /Applications/itk_binary/bin/libitkjpeg16.dylib
>   0x483000 -   0x4affff libitkpng.dylib  
>     /Applications/itk_binary/bin/libitkpng.dylib
>   0x4b7000 -   0x4e6fff libITKEXPAT.dylib  
>     /Applications/itk_binary/bin/libITKEXPAT.dylib
>   0x4ee000 -   0x559fff libITKAlgorithms.dylib  
>     /Applications/itk_binary/bin/libITKAlgorithms.dylib
>   0x5d7000 -   0x633fff libITKBasicFilters.dylib  
>     /Applications/itk_binary/bin/libITKBasicFilters.dylib
>   0x69e000 -   0x6fbfff libITKStatistics.dylib  
>     /Applications/itk_binary/bin/libITKStatistics.dylib
>   0x766000 -   0x79cfff libitkjpeg8.dylib  
>     /Applications/itk_binary/bin/libitkjpeg8.dylib
>  0x1008000 -  0x1068fff libitktiff.dylib  
>     /Applications/itk_binary/bin/libitktiff.dylib
>  0x1190000 -  0x1197fff alex_lagutin.audio_hijack.server  1.2.9    
> /Library/Application Enhancers/Instant Hijack  
> Server.ape/Contents/MacOS/Instant Hijack Server
>  0x11cd000 -  0x126efff libITKSpatialObject.dylib  
>     /Applications/itk_binary/bin/libITKSpatialObject.dylib
>  0x134c000 -  0x1365fff GLDriver  
>     /System/Library/Frameworks/OpenGL.framework/Versions/A/Resources/ 
> GLDriver.bundle/GLDriver
>  0x1384000 -  0x1536fff libITKCommon.dylib  
>     /Applications/itk_binary/bin/libITKCommon.dylib
>  0x1700000 -  0x189afff libITKIO.dylib  
>     /Applications/itk_binary/bin/libITKIO.dylib
>  0x1a49000 -  0x1b4cfff libitkgdcm.dylib  
>     /Applications/itk_binary/bin/libitkgdcm.dylib
>  0x1c44000 -  0x1c96fff libitkvcl.dylib  
>     /Applications/itk_binary/bin/libitkvcl.dylib
>  0x1d73000 -  0x1d8dfff GLRendererFloat  
>     /System/Library/Frameworks/OpenGL.framework/Versions/A/Resources/ 
> GLRendererFloat.bundle/GLRendererFloat
>  0x1dc8000 -  0x1e89fff libITKNumerics.dylib  
>     /Applications/itk_binary/bin/libITKNumerics.dylib
>  0x1f4d000 -  0x2005fff libitkvnl_inst.dylib  
>     /Applications/itk_binary/bin/libitkvnl_inst.dylib
>  0x20ba000 -  0x2174fff libitkvnl_algo.dylib  
>     /Applications/itk_binary/bin/libitkvnl_algo.dylib
>  0x2229000 -  0x2298fff libitksys.dylib  
>     /Applications/itk_binary/bin/libitksys.dylib
>  0x23b5000 -  0x2520fff libitknetlib.dylib  
>     /Applications/itk_binary/bin/libitknetlib.dylib
>  0x2563000 -  0x25fdfff libITKDICOMParser.dylib  
>     /Applications/itk_binary/bin/libITKDICOMParser.dylib
>  0x26de000 -  0x27a5fff libITKMetaIO.dylib  
>     /Applications/itk_binary/bin/libITKMetaIO.dylib
>  0x28d4000 -  0x2c56fff libitkvnl.dylib  
>     /Applications/itk_binary/bin/libitkvnl.dylib
>  0x5dac000 -  0x5ea1fff GLEngine  
>     /System/Library/Frameworks/OpenGL.framework/Resources/GLEngine.bundle/ 
> GLEngine
>  0x5f8a000 -  0x6060fff ATIRadeon9700GLDriver  
>     /System/Library/Extensions/ATIRadeon9700GLDriver.bundle/Contents/ 
> MacOS/ATIRadeon9700GLDriver
>  0x61fd000 -  0x628cfff GLRasterARGB8888D32  
>     /System/Library/Frameworks/OpenGL.framework/Resources/ 
> GLRasterARGB8888D32.bundle/GLRasterARGB8888D32
> 0x80830000 - 0x8090efff libxml2.2.dylib     /usr/lib/libxml2.2.dylib
> 0x8134c000 - 0x8134dfff libGLSystem.dylib  
>     /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/ 
> libGLSystem.dylib
> 0x83b6c000 - 0x83b78fff com.apple.agl 2.5  (AGL-2.5)    
> /System/Library/Frameworks/AGL.framework/Versions/A/AGL
> 0x84cab000 - 0x84d9cfff libGLProgrammability.dylib  
>     /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/ 
> libGLProgrammability.dylib
> 0x8fe00000 - 0x8fe4ffff dyld     /usr/lib/dyld
> 0x90000000 - 0x9014ffff libSystem.B.dylib     /usr/lib/libSystem.B.dylib
> 0x901c0000 - 0x9026dfff com.apple.CoreFoundation 6.3.8  (299.36)    
> /System/Library/Frameworks/CoreFoundation.framework/Versions/ 
> A/CoreFoundation
> 0x902b0000 - 0x90529fff com.apple.CoreServices.CarbonCore  10.3.7    
> /System/Library/Frameworks/CoreServices.framework/Versions/A/ 
> Frameworks/CarbonCore.framework/Versions/A/CarbonCore
> 0x90584000 - 0x905f3fff com.apple.framework.IOKit 1.3.6  (???)    
> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
> 0x90610000 - 0x9069afff com.apple.CoreServices.OSServices  3.0.1    
> /System/Library/Frameworks/CoreServices.framework/Versions/A/ 
> Frameworks/OSServices.framework/Versions/A/OSServices
> 0x90700000 - 0x90700fff com.apple.CoreServices 10.3  (???)    
> /System/Library/Frameworks/CoreServices.framework/Versions/A/ CoreServices
> 0x90702000 - 0x90769fff com.apple.audio.CoreAudio  2.1.3    
> /System/Library/Frameworks/CoreAudio.framework/Versions/A/ CoreAudio
> 0xc0000000 - 0xc000ffff com.unsanity.ape  1.4.6    
> /Library/Frameworks/ApplicationEnhancer.framework/Versions/A/ 
> ApplicationEnhancer
> 
> 
> ------------------------------------------------------------------------ 
> -----------
> Pavel Tomancak, Ph.D.
> 
> Group Leader
> Max Planck Institute of Molecular Cell Biology and Genetics
> Pfotenhauerstr. 108
> D-01307 Dresden                Tel.: +49 351 210 2670
> Germany                        Fax: +49 351 210 2020
> tomancak at mpi-cbg.de
> http://www.mpi-cbg.de
> ------------------------------------------------------------------------ 
> -----------
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
> 
> 



More information about the Insight-users mailing list