ipcSkillProcess or ITK

J

Jay

Guest
Hi
I am a skill newbie so please bear with my limited knowledge.

I have to write an application that needs to draw a few million
polygons on various layers on a Virtuoso Layout window. I understand
that I have 2 options - use ipcSkillProcess or ITK to directly access
CDBA. It seems that ipcSkillProcess can provide better user
interactivity than ITK but I am not sure. My application needs to
process a text file, which would be done externally by a C++ program,
and should be capable of turning on/off layers, adding new layers on
layout window, moving polygons from one layer to another, readjust
zoom levels etc depending on user input. It would be calling the C++
program to do all its back-end processing.

My questions are:

1. For drawing a few million polygons which is a faster and robust
way?
2. For supporting user-interactivity which is better?
3. In terms of developement and debugging?

Also if we move to OpenAcess in the near future I am guessing ITK code
would not be portable?

Thanks for your help.
Jay
 
Jay wrote:
Hi
I am a skill newbie so please bear with my limited knowledge.

I have to write an application that needs to draw a few million
polygons on various layers on a Virtuoso Layout window. I understand
that I have 2 options - use ipcSkillProcess or ITK to directly access
CDBA. It seems that ipcSkillProcess can provide better user
interactivity than ITK but I am not sure. My application needs to
process a text file, which would be done externally by a C++ program,
and should be capable of turning on/off layers, adding new layers on
layout window, moving polygons from one layer to another, readjust
zoom levels etc depending on user input. It would be calling the C++
program to do all its back-end processing.

My questions are:

1. For drawing a few million polygons which is a faster and robust
way?
I guess fastest would be to do it in c with itkDb functions. Skill will
also be faster if you are little careful with the usage of list traversals.

2. For supporting user-interactivity which is better?
When you use itkDb, any change you make in the db objects does not
reflect in the user's screen as soon as you do the changes. Instead you
will have to save the cellview and through the ipcSkillProcess special
port you have to inform Skill toplevel to refresh that cellview. Not
very straight forward.

But trying to process everything in C++ in a ipcSkillProcess and calling
skill procedures at the level of "dbCreateRect" from there would be dead
slow ( without using itk.)


3. In terms of developement and debugging?
I would go this way: Implement everything in Skill, and start the C++
program from Skill using ipc. After processing the C++ program will
write out its output into some file. As a callback for the ipc, write a
skill procedure to read the file and update the cellview. You can use
lineread which I think is the fastest way to read a file, and the way
you write the data into the file should be modified so that it could be
understood by lineread.

eg. If you have only rectangles to be read, the format could be
something like this:

layerName x1 y1 x2 y2

Also if we move to OpenAcess in the near future I am guessing ITK code
would not be portable?

Thanks for your help.
Jay
-
Suresh
 

Welcome to EDABoard.com

Sponsor

Back
Top