[ITK Community] Some questions about RegionGrowingSegmentation

Girish, Gavaskar Ruturaj gavaskar.ruturaj.girish at philips.com
Thu Feb 13 01:22:24 EST 2014


Dear Jon and Bill,

After 2 days of trying to compile my program, during which I learnt some CMake commands, made many modifications to my CMakeLists.txt file based on what both of you suggested, and encountered various types of linker errors which are too numerous to list here, I can only share my latest CMakeLists.txt file here, and hope you or any other community members can tell me what exactly I am doing wrong.
For the record, I am now getting the following errors in VS 2010:

C:\Program Files\FLTK\include\FL\math.h(22): fatal error C1083: Cannot open include file: '/usr/include/math.h': No such file or directory
2>  RegionGrowingSegmentationImageDisplay.cpp
2>C:\Program Files\FLTK\include\FL\math.h(22): fatal error C1083: Cannot open include file: '/usr/include/math.h': No such file or directory
2>  RGS_main.cpp
2>C:\Program Files\FLTK\include\FL\math.h(22): fatal error C1083: Cannot open include file: '/usr/include/math.h': No such file or directory

Since I am not using Linux, I don't really know what to do with these errors. I was previously getting linker errors, but now I am getting the above errors again.

It would be very helpful to me if you can have a look at my attached CMakeLists.txt file. I have included relevant information as comments.
Thanks a lot for your help.

Regards
Ruturaj


From: Jon Haitz Legarreta [mailto:jhlegarreta at vicomtech.org]
Sent: Monday, February 10, 2014 6:21 PM
To: Girish, Gavaskar Ruturaj
Cc: community at itk.org
Subject: Re: [ITK Community] Some questions about RegionGrowingSegmentation

Hi Ruturaj,
you are right. However, if you are using CMake you shouldn't modify your compiler's include/link libraries within your compiler's environment; CMake does it for you.

Thus, concerning the errors you are getting, in CMake's terms, you would interpret that you are not including FLTK as a library in your CMakeLists.

If the error persisted even after you manually added the FLTK folder, then the file fltkImageViewer.h is not within that folder.

But anyway, try not to alter the project's properties within your compiler; you can do that through your CMakeLists.

Make sure also that you include it in your target link libraries' list.
If errors persist, sharing your CMakeLists may be useful.
HTH,
JON HAITZ

On 10 February 2014 12:20, Girish, Gavaskar Ruturaj <gavaskar.ruturaj.girish at philips.com<mailto:gavaskar.ruturaj.girish at philips.com>> wrote:
Dear Jon,

I did as you told. Actually I am using FLTK only to view the images (fltkImageViewer.h). I am not using it for user interaction. After making the relevant changes in CMakeLists.txt, I am able to configure and generate the Visual Studio project. However, now I get errors while building the solution in Visual Studio. Here are the 2 errors I get:
                (In my main header file:) fatal error C1083: Cannot open include file: 'fltkImageViewer.h': No such file or directory
       and
                C:\Program Files\FLTK\include\FL\math.h(22): fatal error C1083: Cannot open include file: '/usr/include/math.h': No such file or directory

I think the issue is something to do with the directories where VS searches for the #included files. I have added the following directories in 'Additional Include Directories' in C/C++ Properties for the project (don't know if all are needed):
                <My source directory for cmake>
                <My build directory for cmake>
                C:\Program Files\ITK\include\ITK-4.6
                C:\Program Files\FLTK\include\FL
                <Binary directory of superbuild> \ITKApps-build\Auxiliary\ITKFlFileWriter
                <Binary directory of superbuild> \ITKApps-build\Auxiliary\FltkImageViewer
                <Binary directory of superbuild> \ITKApps-build\Auxiliary\VtkFltk

Any idea why these errors are occurring? Do I need to include any other directories?

Thanks in advance & also for your previous reply.

Regards
Ruturaj
From: Jon Haitz Legarreta [mailto:jhlegarreta at vicomtech.org<mailto:jhlegarreta at vicomtech.org>]
Sent: Friday, February 07, 2014 5:57 PM

To: Girish, Gavaskar Ruturaj
Cc: community at itk.org<mailto:community at itk.org>
Subject: Re: [ITK Community] Some questions about RegionGrowingSegmentation

Dear Ruturaj,
if you don't need FLTK (as you mentioned, you don't need a GUI), then you need to modify the CMakeLists accordingly, i.e. remove all FLTK-related CMake variables in your new, fresh CMakeLists.txt
You will just need to tell CMake that your projects depends only on ITK.
In the ITK wiki, you will find quite a few examples on how to do this [1]. You even have a segmentation section there.

HTH,
JON HAITZ

[1] http://www.itk.org/Wiki/ITK/Examples#About_the_Examples

On 7 February 2014 12:36, Girish, Gavaskar Ruturaj <gavaskar.ruturaj.girish at philips.com<mailto:gavaskar.ruturaj.girish at philips.com>> wrote:
Dear Friends,

I am not able to build the app RegionGrowingSegmentation separately without using Superbuild. I have already installed Superbuild once. Here is what I did:

In cmake, I gave the source directory as ITKApps/RegionGrowingSegmentation and hit 'Configure', upon which CMake showed me the following error.

CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
FLTK_FLUID_EXECUTABLE
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
FLTK_FLUID_EXECUTABLE
CMake Error at CMakeLists.txt:42 (ITK_DISABLE_FLTK_GENERATED_WARNINGS):
Unknown CMake command "ITK_DISABLE_FLTK_GENERATED_WARNINGS".
CMake Warning (dev) in CMakeLists.txt:
No cmake_minimum_required command is present. A line of code such as

cmake_minimum_required(VERSION 2.8)

should be added at the top of the file. The version specified may be lower
if you wish to support older CMake versions for this project. For more
information run "cmake --help-policy CMP0000".
This warning is for project developers. Use -Wno-dev to suppress it.
FLTK_WRAP_UI was called with a target that was never created: RegionGrowingSegmentation. The problem was found while processing the source directory: D:/ITKApps-27-01-2014/RegionGrowingSegmentation. This FLTK_WRAP_UI call will be ignored.
FLTK_WRAP_UI was called with a target that was never created: RegionGrowingSegmentation2D. The problem was found while processing the source directory: D:/ITKApps-27-01-2014/RegionGrowingSegmentation. This FLTK_WRAP_UI call will be ignored.
Configuring incomplete, errors occurred!
See also "D:/RegionGrowingSegmentation-Build/CMakeFiles/CMakeOutput.log".

So I added the following 3 commands to CMakeLists.txt:


1)      SET(FLTK_FLUID_EXECUTABLE "C:/Program Files/FLTK/bin/fluid.exe")

2)      CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

3)      (Copied from ITKApps/CMakeLists.txt)

MACRO(ITK_DISABLE_FLTK_GENERATED_WARNINGS files)

  IF(CMAKE_COMPILER_IS_GNUCXX)

    FOREACH(f ${files})

      STRING(REGEX REPLACE "\\.fl$<file:///\\.fl$>" ".cxx" SRC "${f}")

      STRING(REGEX REPLACE ".*/([^/]*)$" "\\1<file:///\\1>" SRC "${SRC}")

      SET_SOURCE_FILES_PROPERTIES(${SRC} PROPERTIES COMPILE_FLAGS -w)

    ENDFOREACH(f)

  ENDIF(CMAKE_COMPILER_IS_GNUCXX)

  IF(MSVC)

    FOREACH(f ${files})

      STRING(REGEX REPLACE "\\.fl$<file:///\\.fl$>" ".cxx" SRC "${f}")

      STRING(REGEX REPLACE ".*/([^/]*)$" "\\1<file:///\\1>" SRC "${SRC}")

      SET_SOURCE_FILES_PROPERTIES(${SRC} PROPERTIES COMPILE_FLAGS /w)

    ENDFOREACH(f)

  ENDIF(MSVC)

ENDMACRO(ITK_DISABLE_FLTK_GENERATED_WARNINGS)

Then I got the following error in cmake:

CMake Error at CMakeLists.txt:82 (ADD_GUI_EXECUTABLE):
Unknown CMake command "ADD_GUI_EXECUTABLE".
FLTK_WRAP_UI was called with a target that was never created: RegionGrowingSegmentation. The problem was found while processing the source directory: D:/ITKApps-27-01-2014/RegionGrowingSegmentation. This FLTK_WRAP_UI call will be ignored.
FLTK_WRAP_UI was called with a target that was never created: RegionGrowingSegmentation2D. The problem was found while processing the source directory: D:/ITKApps-27-01-2014/RegionGrowingSegmentation. This FLTK_WRAP_UI call will be ignored.
Configuring incomplete, errors occurred!

Please tell me if I did anything wrong and what I need to do to build this app. I need to find a way to build it separately since I wish to modify it a little. Thanks.

Regards
Ruturaj


From: Community [mailto:community-bounces at itk.org<mailto:community-bounces at itk.org>] On Behalf Of Girish, Gavaskar Ruturaj
Sent: Friday, February 07, 2014 1:37 PM
To: Jon Haitz Legarreta

Cc: community at itk.org<mailto:community at itk.org>
Subject: Re: [ITK Community] Some questions about RegionGrowingSegmentation

Dear Jon,

Thanks for your suggestion. I am looking to modify the source code to accept multiple seed points so that more than one region can be segmented. I find it much easier without a GUI as I never worked with developing a GUI before. I will go through the links you posted.

Regards
Ruturaj


From: Jon Haitz Legarreta [mailto:jhlegarreta at vicomtech.org]
Sent: Friday, February 07, 2014 1:15 PM
To: Girish, Gavaskar Ruturaj
Cc: community at itk.org<mailto:community at itk.org>
Subject: Re: [ITK Community] Some questions about RegionGrowingSegmentation

Dear Ruturaj,
1.- Haven't got the example with me, but if you intend to use a region growing segmentation filter a good point to start is the ITK software guide, chapter 9.1 [1]. There, you will be able to see which are the available build-in algorithms/strategies, and you will see which are the methods you need to call in order to make them work. Please, bear in mind that segmentation is highly application-specific, and you may need to at least adjust the parameters, when it's not to develop your own strategy based on what's available in ITK, for example. Nevertheless, the available examples in ITK are quite useful.
2.- Sure. The seed point can be read from wherever you need (user interaction, program arguments, external file). The seed-setting method (or whichever method actually requiring the seed point) will only require a vector/array or individual coordinates, regardless of where you picked up them.
3.- As said, haven't got the app in front of me, but surely you will be able to build your own application for region growing segmentation without any GUI. ITK is independent of any GUI (now, the apps may use a specific one); you can just build an application with the GUI library that you most like. Having said, that, may be the most common and easiest choice is Qt [2], which has an open source version.


[1] http://www.itk.org/ItkSoftwareGuide.pdf
[2] http://qt-project.org/

On 7 February 2014 06:27, Girish, Gavaskar Ruturaj <gavaskar.ruturaj.girish at philips.com<mailto:gavaskar.ruturaj.girish at philips.com>> wrote:
Hello All,

I am new to ITK & C++ and I have some questions related to the ITK app RegionGrowingSegmentation:

1.       Please explain to me the purpose of the function RegionGrowingSegmentation:: ClickSelectCallback(float x, float y, float z, float itkNotUsed(value), void * args), along with the meaning of the arguments (Line 451 in RegionGrowingSegmentation.cxx)

2.       Is it possible to pass the coordinates of the seed point without user interaction (for example, as arguments or by storing them in a file etc.) ?

3.       Can this app be built without a GUI, so that the coordinates of the seed point, along with other parameters, can be directly passed from the command line? If yes, what is the procedure to build it?

Thanks.

Regards
Ruturaj


________________________________
The information contained in this message may be confidential and legally protected under applicable law. The message is intended solely for the addressee(s). If you are not the intended recipient, you are hereby notified that any use, forwarding, dissemination, or reproduction of this message is strictly prohibited and may be unlawful. If you are not the intended recipient, please contact the sender by return e-mail and destroy all copies of the original message.

_______________________________________________
Community mailing list
Community at itk.org<mailto:Community at itk.org>
http://public.kitware.com/cgi-bin/mailman/listinfo/community


_______________________________________________
Community mailing list
Community at itk.org<mailto:Community at itk.org>
http://public.kitware.com/cgi-bin/mailman/listinfo/community


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20140213/f0aec4c9/attachment-0002.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: CMakeLists.txt
URL: <http://public.kitware.com/pipermail/community/attachments/20140213/f0aec4c9/attachment-0002.txt>


More information about the Community mailing list