[Insight-users] Help me : Differences between ITK and SPM

Luis Ibanez luis.ibanez at kitware.com
Sat Jun 18 16:55:14 EDT 2005


Hi Angela


ITK is an Open Source library for Medical Image Processing,
in particular for Image Segmentation and Registration.
It is written in C++, using Generic Programming.

Full information about ITK is available in the Tutorials
http://www.itk.org/HTML/Tutorials.htm
and in the ITK Software Guide
http://www.itk.org/ItkSoftwareGuide.pdf



SPM (Statistical Parametric Mapping) is a library of MATLAB
functions for performing segmentation using statistical
methods.

     http://www.fil.ion.ucl.ac.uk/spm/software/spm2/

SPM is particularly well suited for studying functional MRI.
A nice SPM tutorial is available at:

     http://www.fil.ion.ucl.ac.uk/spm/doc/intro/




If you are interested in segmentation, you probably may want
to do prototyping with SPM, and then develop applications
with ITK.... and then, of course contribute your source
code to the community   :-)



    Regards,



       Luis



----------------
Angela wrote:

> Which is the difference between ITK and the SPM?
> 
> Does someone know?
> 
> Thanks.
> 
> Ángela Mendoza
> España, Madrid.
> 
> 
> 
> -----Mensaje original-----
> De: insight-users-bounces+a.mendoza=alumnos.urjc.es at itk.org
> [mailto:insight-users-bounces+a.mendoza=alumnos.urjc.es at itk.org] En nombre
> de insight-users-request at itk.org
> Enviado el: viernes, 10 de junio de 2005 3:06
> Para: insight-users at itk.org
> Asunto: Insight-users Digest, Vol 14, Issue 29
> 
> Send Insight-users mailing list submissions to
> 	insight-users at itk.org
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	http://www.itk.org/mailman/listinfo/insight-users
> or, via email, send a message with subject or body 'help' to
> 	insight-users-request at itk.org
> 
> You can reach the person managing the list at
> 	insight-users-owner at itk.org
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Insight-users digest..."
> 
> 
> Today's Topics:
> 
>    1. Re: How to get mean shape image instead of vector in
>       itkActiveShapeModelCalculator (Zachary Pincus)
>    2. Problems when using itk with another C++ toolkit (Dalal, Dhaval)
>    3. [vtkusers] problem with vtkWin32OpenGLRenderWindow
>       (Renaud Isabelle)
>    4. Problem viewing image with VTK (Olivier Rousseau)
>    5. RE: [vtkusers] problem with	vtkWin32OpenGLRenderWindow
>       (Renaud Isabelle)
>    6. imagetoimagemetric issue (indian rock)
>    7. how to start a project in MS VC++6? (Xuelin Cui)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Thu, 9 Jun 2005 12:17:26 -0600
> From: Zachary Pincus <zpincus at stanford.edu>
> Subject: Re: [Insight-users] How to get mean shape image instead of
> 	vector in	itkActiveShapeModelCalculator
> To: kingaza at gmail.com
> Cc: insight-users at itk.org
> Message-ID: <b0da7e97a010799b827d1cea6d87b2ca at stanford.edu>
> Content-Type: text/plain; charset=US-ASCII; format=flowed
> 
> Aah, I see now; sorry for the misunderstanding!
> 
> Perhaps the SpatialObject hierarchy (which you can read about in the 
> ITK software guide) would allow you to take a list of the landmark 
> points, connect them into a polygon or surface, and then either 
> rasterize that to an image, or just use the spatial object as is?
> 
> Zach
> 
> 
> On Jun 9, 2005, at 1:15 AM, <kingaza at gmail.com> wrote:
> 
> 
>>Hi Zachary,
>>
>>
>>Yes, I had some experiece in ASM/AAM before I use itk, and i am so
>>excited seeing this implementation, that i can use it in itk.
>>now my quesiton is how to generation a image from the shape vetcor in
>>itk. I have done it by using excel, but the work is so weary.
>>
>>On 6/9/05, Zachary Pincus <zpincus at stanford.edu> wrote:
>>
>>>Hello,
>>>
>>>As I mentioned in an earlier email, I believe the
>>>ActiveShapeModelCalculator class calculates LANDMARK-BASED, not
>>>IMAGE-BASED shape models. Please read the papers referred to in the
>>>header documentation of the itkActiveShapeModelCalculator, and the
>>>Leventon paper that I also referred to earlier, if you want to grasp
>>>the differences between these approaches.
>>>
>>>The mean shape information returned by the ActiveShapeModelCalculator
>>>(as described in its documentation) is a list of landmark points. To
>>>get image-based shape models, you need to feed signed distance maps
>>>into an ImagePCAShapeModelEstimator.
>>>
>>>Zach Pincus
>>>
>>>
>>>On Jun 7, 2005, at 9:53 AM, <kingaza at gmail.com> wrote:
>>>
>>>
>>>>Hi all,
>>>>
>>>>the class itkActiveShapeModelCalculator provide a method
>>>>GetMeanShape(), and its return value type is VectorOfDoubleType,
>>>>but i want to obtain an image. how can i implement?
>>>>
>>>>
>>>>--
>>>>Regards,
>>>>Kingaza
>>>>_______________________________________________
>>>>Insight-users mailing list
>>>>Insight-users at itk.org
>>>>http://www.itk.org/mailman/listinfo/insight-users
>>>>
>>>
>>>
>>
>>-- 
>>Regards,
>>Kingaza
>>_______________________________________________
>>Insight-users mailing list
>>Insight-users at itk.org
>>http://www.itk.org/mailman/listinfo/insight-users
>>
> 
> 
> 
> 
> ------------------------------
> 
> Message: 2
> Date: Thu, 9 Jun 2005 15:57:07 -0400 
> From: "Dalal, Dhaval" <dalal at bnl.gov>
> Subject: [Insight-users] Problems when using itk with another C++
> 	toolkit
> To: "'insight-users at itk.org'" <insight-users at itk.org>
> Message-ID:
> 	
> <8DA1FDF1F462F44B9BC15BE52B7EE81B01A0F8 at exchange2000-04.b459.bnl.gov>
> Content-Type: text/plain
> 
> 
> Hi 
> I am trying to integrate ITK with Dcmtk(a C++ Dicom Toolkit).
> I created a small C++ project(windows application). 
> which includes some itk and dcmtk - header files and code.
> When when i try to compile the project, i keep getting the following
> warnings-
> C4541: 'dynamic_cast' used on polymorphic type 'itk::EventObject' with
> /GR-; unpredictable behavior may result
> 
> Which means that exceptions are not enabled. I know that ITK makes use of
> C++ exceptions..
> 
> So I checked my compiler settings .By selecting "project Settings"
> - Under C/C++
> - Changing Category to: C++ Language
> - But Here " Enable C++ Exceptions" is  already checked. I am using Visual
> Studio 6.0.
> 
> Any pointers, Can i just ignore this warning?
> my CMakeLists.txt file is
> 
> /////////////////////////////
> PROJECT(DCMTKTEST)
> 
> FIND_PACKAGE(DCMTK)
> FIND_PACKAGE(ZLIB)
> # Find ITK.
> FIND_PACKAGE(ITK)
> IF(ITK_FOUND)
>   INCLUDE(${ITK_USE_FILE})
> ELSE(ITK_FOUND)
>   MESSAGE(FATAL_ERROR
>           "Cannot build without ITK.  Please set ITK_DIR.")
> ENDIF(ITK_FOUND)
> 
> 
> # Make sure the compiler can find include files from our library.
> INCLUDE_DIRECTORIES(
>  ${DCMTK_config_INCLUDE_DIR}
>  ${DCMTK_dcmdata_INCLUDE_DIR}
>  ${DCMTK_dcmingle_INCLUDE_DIR}
>  ${DCMTK_ofstd_INCLUDE_DIR}
>  ${DCMTK_DIR}/imagectn/include
>  ${DCMTK_DIR}/dcmnet/include
>  )
> 
> # set certain project wide flags
> SET(CMAKE_C_FLAGS "" CACHE STRING "Flags for C compiler." FORCE)
> SET(CMAKE_C_FLAGS_DEBUG "/nologo /MDd /W3 /GX /Z7 /Od /GR- /YX" CACHE STRING
> "Win32 Debug Options C Code" FORCE)
> SET(CMAKE_C_FLAGS_RELEASE "/nologo /MD /W3 /GX /O2 /GR- /YX" CACHE STRING
> "Win32 Release Options C Code" FORCE)
> SET(CMAKE_CXX_FLAGS "" CACHE STRING "Flags used by the compiler during all
> build types." FORCE)
> SET(CMAKE_CXX_FLAGS_DEBUG "/nologo /MDd /W3 /GX /Z7 /Od /GR- /YX" CACHE
> STRING "Win32 Debug Options C++ Code" FORCE)
> SET(CMAKE_CXX_FLAGS_RELEASE "/nologo /MD /W3 /GX /O2 /GR- /YX" CACHE STRING
> "Win32 Release Options C++ Code" FORCE)
> SET(CMAKE_EXE_LINKER_FLAGS "/INCREMENTAL:NO" CACHE STRING "Win32 Linker
> Flags" FORCE)
> 
> FIND_LIBRARY(DCMTK_imagedb_LIBRARY libimagedb ${DCMTK_DIR}/imagectn/libsrc)
> FIND_LIBRARY(DCMTK_dcmnet_LIBRARY dcmnet ${DCMTK_DIR}/dcmnet/libsrc)
> 
> 
> # set _REENTRANT flag
> ADD_DEFINITIONS(-D_REENTRANT)
> #ADD_DEFINITIONS(-DHAVE_CONFIG_H)
>  
> 
> INCLUDE(${CMAKE_ROOT}/Modules/FindFLTK.cmake)
> IF(HAS_FLTK)
>   INCLUDE_DIRECTORIES(
>     ${FLTK_INCLUDE_DIR}
>     )
>   LINK_LIBRARIES( 
>     ${FLTK_LIBRARIES}
>     )
> ENDIF(HAS_FLTK)
> 
> INCLUDE_DIRECTORIES(
>   ${DCMTKTEST_SOURCE_DIR} 
>   ${DCMTKTEST_BINARY_DIR} 
>   ) 
> 
> IF(CYGWIN)
>   LINK_LIBRARIES(ole32 uuid comctl32 wsock32 supc++ -lm -lgdi32)
> ENDIF(CYGWIN)
> 
> SET( DCMTK_GUI_SRCS
>   dcmtkui.fl
>   prefsui.fl
>  )
> 
> IF(FLTK_WRAP_UI)
>   FLTK_WRAP_UI(ti ${DCMTK_GUI_SRCS})
>  ENDIF(FLTK_WRAP_UI)
> 
> 
> 
> SET(DCMTKTEST_SRCS
>   cnf.h
>   cnf.cxx
>   cnfexnt.cxx
>   cnfpriv.cxx
>   cnfpriv.h
>   ti.cxx 
>   ti.h
>   tinet.cxx
>   tinet.h 
>   tiquery.cxx
>   tiquery.h
>   tiui.cxx
>   tiui.h
>   prefs.h
>   prefs.cpp
>   dcmtk.h
>   dcmtk.cpp
>   main.cpp
>   )
> 
> ADD_EXECUTABLE( ti ${DCMTKTEST_SRCS} )
> 
> 
>  TARGET_LINK_LIBRARIES(
>   ti 
>   netapi32
>   wsock32
>  ${DCMTK_imagedb_LIBRARY}
>  ${DCMTK_dcmnet_LIBRARY}
>  ${DCMTK_dcmdata_LIBRARY}
>  ${DCMTK_ofstd_LIBRARY} 
>  ${DCMTK_dcmimgle_LIBRARY}
> # ${ZLIB_LIBRARY} 
>   ITKCommon
>  )
> ///////////////////////////////////// 
> 
> Let me know.
> Thanks
> Dhaval
> 
> 
> ------------------------------
> 
> Message: 3
> Date: Thu, 9 Jun 2005 17:47:03 +0200 (CEST)
> From: Renaud Isabelle <renauisa at yahoo.fr>
> Subject: [Insight-users] [vtkusers] problem with
> 	vtkWin32OpenGLRenderWindow
> To: pahsieh at usgs.gov, vtkusers at public.kitware.com,
> 	insight-users at itk.org
> Message-ID: <20050609154703.48111.qmail at web26110.mail.ukl.yahoo.com>
> Content-Type: text/plain; charset="iso-8859-1"
> 
> Skipped content of type multipart/alternative-------------- next part
> --------------
> _______________________________________________
> This is the private VTK discussion list. 
> Please keep messages on-topic. Check the FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
> 
> ------------------------------
> 
> Message: 4
> Date: Thu, 9 Jun 2005 16:35:16 -0400
> From: Olivier Rousseau <rousseauoli at gmail.com>
> Subject: [Insight-users] Problem viewing image with VTK
> To: ITK Mailing List <insight-users at itk.org>
> Message-ID: <4dd1c89c0506091335578fb7a7 at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
> 
> Hi,
> 
> I am a new ITK & VTK user. I have managed to run some simple programs and 
> view resulting images, but suddenly I couldn't view anymore the images. 
> The RenderWindow opens, but it stays black and do not respond.
> I have tried to re-compiled ITK & VTK, but the problem's still there. Even 
> the simplest programs (like the tutorials) won't run.
> 
> What can I do/try?
> 
> Thank you very much!
> Olivier
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://public.kitware.com/pipermail/insight-users/attachments/20050609/a630c
> ab1/attachment.htm
> 
> ------------------------------
> 
> Message: 5
> Date: Thu, 9 Jun 2005 22:36:57 +0200 (CEST)
> From: Renaud Isabelle <renauisa at yahoo.fr>
> Subject: [Insight-users] RE: [vtkusers] problem with
> 	vtkWin32OpenGLRenderWindow
> To: vtkusers at public.kitware.com, insight-users at itk.org
> Message-ID: <20050609203658.51819.qmail at web26105.mail.ukl.yahoo.com>
> Content-Type: text/plain; charset="iso-8859-1"
> 
> Don't anyone have a solution? I really don't manage to solve this. 
>  
> Why just this 2 lines added could change something?
>  
> Please
> Isa
> 
> Renaud Isabelle <renauisa at yahoo.fr> a écrit :
> Hi,
>  
> I read your code example and I think this could help me because this seems
> to be right.
>  
> - When I display directly on screen, the image "essai.bmp" saved is the
> exact copy of what is rendered on screen: here is my code where everything
> is fine: 
>  
> // render to memory with m_pRenderWindow as a vtkWin32OpenGLRenderWindow.
> m_pRenderWindow->Render();
> 
> vtkWindowToImageFilter* renSrc = vtkWindowToImageFilter::New();
> renSrc->SetInput(m_pRenderer);
> vtkBMPWriter* writer = vtkBMPWriter::New();
> writer->SetInput(renSrc->GetOutput());
> writer->SetFileName("essai.bmp");
> writer->Write();
> 
>  
> - However, to avoid flickering on screen, I want to render off screen by
> double buffering. Here is the new code. Just is added the line 
> 
> // render to memory with m_pRenderWindow as a vtkWin32OpenGLRenderWindow.
> int *size = m_pRenderWindow->GetSize();
> m_pRenderWindow->SetupMemoryRendering(size[0], size[1], GetDC()
> ->GetSafeHdc());
> m_pRenderWindow->Render();
> 
> vtkWindowToImageFilter* renSrc = vtkWindowToImageFilter::New();
> renSrc->SetInput(m_pRenderer);
> vtkBMPWriter* writer = vtkBMPWriter::New();
> writer->SetInput(renSrc->GetOutput());
> writer->SetFileName("essai.bmp");
> writer->Write();
> 
> m_pRenderWindow->ResumeScreenRendering();
>  
> Problem: The image saved in essai.bmp is white. How could this be? I really
> don't understand.I check class vtkWin32OpenGLRenderWindow and I am stuck on
> this problem for 3 days. 
>  
> Please help
> Isa
> 
> 
> 
> 
> ---------------------------------
> Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger
> Téléchargez le ici ! _______________________________________________
> This is the private VTK discussion list. 
> Please keep messages on-topic. Check the FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
> 
> 		
> ---------------------------------
>  Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger
>  Téléchargez le ici !  
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://public.kitware.com/pipermail/insight-users/attachments/20050609/392c6
> 131/attachment.html
> 
> ------------------------------
> 
> Message: 6
> Date: Thu, 9 Jun 2005 17:43:43 -0700
> From: indian rock <indianrock at gmail.com>
> Subject: [Insight-users] imagetoimagemetric issue
> To: insight-users at itk.org
> Message-ID: <41dffced05060917435054992 at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
> 
> Hello all, 
> 
> I want to calculate the metric of how one image (A1.img) fits the
> second image (T2.img) prior to any registration or transformation.
> 
> I want to identify the closest match to image T2.img, from a stack of
> images (A1.img - A10.img), without any transformation performed on the
> moving image. Is there a component/metric to do this..???
> 
> Thanks,
> IR.
> 
> 
> ------------------------------
> 
> Message: 7
> Date: Thu, 09 Jun 2005 15:05:04 -1000
> From: Xuelin Cui <xuelin at hawaii.edu>
> Subject: [Insight-users] how to start a project in MS VC++6?
> To: ITK user <insight-users at itk.org>
> Message-ID: <7d61907cf100.7cf1007d6190 at hawaii.edu>
> Content-Type: text/plain; charset=us-ascii
> 
> hi Luis:
> 
> 
> I am trying to start a project in MS VC++6, but I really don't know how 
> to do that. 
> 
> I tried to build some examples. The way of doing that is to copy the .h 
> and .cxx and CMakeList.txt out of the original directories, then apply 
> CMake on the new folder as a source, of course to a binary folder
> 
> But, when I want to write some new code, and started a project based on 
> ITK, how should I do? how to specify the property of the project in 
> VC++6?
> 
> Some demo/reference will be appriciated
> 
> Thanks
> 
> 
> Xuelin
> 
> Department of Mechanical Engineering
> University of Hawaii at Manoa
> 2540 Dole St
> Honolulu HI 96822
> United States
> 
> 
> 
> ------------------------------
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
> 
> 
> End of Insight-users Digest, Vol 14, Issue 29
> *********************************************
> 
> _______________________________________________
> 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