[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