[Insight-users] Itk and OpenCV

Oleksandr Dzyubak adzyubak at gmail.com
Fri Nov 14 11:31:11 EST 2008


Hi Tomáš,

The reason I am interested in parallelism is that I have to process
large images (1 GB and more) and my old boxes could not handle it anymore.
Thus I was looking for an affordable solution in a sense of speed,
cost, complexity, and manpower. The options I started with are below.

1) PVM, MPI, OpenCV, P-threads.
2) Cluster, multi-CPU on a single board, multi-core single CPU on a 
single board.
3) Cell BE based blades.
4) GPU arrays (preferably NVIDIA SLI).

Building a cluster takes too much money and my time. And in the end of 
the day,
the network latency would ruin the idea.

Since prices for hardware drop down so fast, the multi-CPU on a single 
board and
multi-core single CPU on a single board approaches could be a good choice.

Recently I attended a conference on the IBM site concerning the using of 
PS3
with 8 Cell BE plus 2 manager-CPUs on a single board in research.
Well, I got very exited since you can buy PS3 in Walmart for about $350 
per piece,
build a cluster with Linux on it (Debian or Yellow Dog), and run your tasks.
Or you can buy a ready-to-go blade server/center with Linux 
pre-installed which
is quite expensive though.

The solution I personally ended up is that
I built a new server with 4-core single CPU on a single board with 16GB 
memory
and GPU with 64 stream processors.

So at the moment I stick with P-threads plus NVIDIA CUDA on stream 
processors.
Such a solution allows me to process my images in reasonable time 
(several hours).
By the time it would be inefficient again,  I will try other solutions.

Hope it helps,

Alex

Tomáš Kazmar wrote:
> Hi Flo,
>
>   I want to ask you and Alex about the experience you have combining ITK
> and OpenCV. Was it a success? Did you encounter some special
> problems?
>
> I would be glad to hear any information as I consider using the two libraries
> in one project. OpenCV will be responsible for most of the processing and
> except for image stitching and alignment which will be done in ITK.
>
>
> Regards,
>
> Tomas
>
>
> # Hello Alex:
> # 
> # Indeed, OpenCV is a bsd-like licence (refer to
> # http://www.intel.com/technology/computing/opencv/license.htm).
> # However, it changes if you link OpenCV to IPP, that is the Intel "Hardware"
> # specific libraries making the most of Multi-core, Multi-CPU. It is no more
> # BSD in that you need to Pay for a licence, even for the case of academic
> # researches. 
> # 
> # What I recommend (and let me know if 'm wrong) is thus to develop, if there
> # are any benefit, with ITK+OpenCV, and let who wants (including oneself) to
> # integrate IPP - It does not change the ITK+OpenCV source code in any ways.
> # So that BSD-feeling is kept intact, source code can be shared ... and for
> # performance one can simply include the IPP or anything comparable
> # a-posteriori.
> # 
> # We'll stay in touch to see how feasible is such thing.
> # 
> # Flo.
> # 
> # 
> # 
> # -----Message d'origine-----
> # De : Oleksandr Dzyubaka [mailto:adzyubak at gmail.com] 
> # Envoyé : April-11-08 11:22 AM
> # À : Flo
> # Cc : insight-users at itk.org
> # Objet : Re: [Insight-users] Itk and OpenCV
> # 
> # Hi Flo,
> # 
> # I am also interested in speeding filters up (muti-threading, clustering?).
> # My architecture is quite similar to yours: Linux/BSD with multi-CPUs.
> # And I am concerned about license issue. Correct me if I am wrong.
> # I thought OpenVM is a free open-source software with BSD style license.
> # 
> # It is not?
> # 
> # Thanks,
> # Alex
> # 
> # Flo wrote:
> # >
> # > Dear all:
> # >
> # > I am quite familiar with ITK. However, and despite the greatness (I’m 
> # > sincerely thanking any contributors here) of its content, I’m looking 
> # > forward to speeding up my applications now.
> # >
> # > As such, I introduced Trilinos for every matrix linear calculation I 
> # > needed.
> # >
> # > As well, I would like to introduce another framework that could speed 
> # > up basic filters such as erosion / dilatation / region growing as I 
> # > feel ITK is a tide slow in these areas.
> # >
> # > My architecture is Linux/Windows on Intel platform with a Quadcore. As 
> # > such, I had a look at Intel OpenCV and Intel IPP (as a side note, it 
> # > is funny to see that Intel provide the IPP for free under Linux only 
> # > if it’s for non-commercial usage of any kind and/or non-funded 
> # > development of any kind – stating that a student’s internship falls 
> # > into commercial usage as at least the university gets funds from the 
> # > government).
> # >
> # > Thus, and before starting recoding part of my applications, I would 
> # > appreciate the feedbacks of any ITK user as per mixing OpenCV with ITK 
> # > regarding a potential speed gain.
> # >
> # > As well, is there any other way to speed up ITK for basic algorithm if 
> # > combined with another framework.
> # >
> # > My end goal is to have a fast Expectation-Maximization Code for image 
> # > segmentation without the trouble of converting an itkImage into a 
> # > Vector and then to a List to finally feed the EM algorithm, a process 
> # > that takes lots of time to my understanding.
> # >
> # > Thanks for any info.
> # >
> # > Flo.
>   



More information about the Insight-users mailing list