SCM

Discussion Forums: help

Monitor Forum | Start New Thread Start New Thread

 

RE: A way to make an old CEP compatible with a new verison of CamiTK ? [ reply ]
By: Emmanuel Promayon on 2016-06-23 16:55
[forum:3673]
Great!
I am glad your problem is solved!
The best thing for the wiki would be to add a page "migration guide from 3.4 to 3.5" that shows the difference in the ImageAcquisitionComponent API and what you had to do to correct it (with a link to this forum).

Thank you in advance!
Mahnu

RE: A way to make an old CEP compatible with a new verison of CamiTK ? [ reply ]
By: Haddad Oussama on 2016-06-23 15:28
[forum:3672]
Hi Emmanuel

Alls good

The volume works fine

I just had a conflict between dlls from Plus and my SDK SonixTablet and not SonixTouch.

Now I have US volumes and thank you very much for the help

Tell me what should I do for the wiki

According to what I have done I think I can help

Have a good day

RE: A way to make an old CEP compatible with a new verison of CamiTK ? [ reply ]
By: Emmanuel Promayon on 2016-06-23 07:00
[forum:3671]
Dear Oussama,

OK. Now we need to have more information about your error.

Can you send us the exact error message you have?
Can you send us as well the result of "camitk-config --config"
and "camitk-config --version" as well?

See this page for instruction https://forge.imag.fr/plugins/mediawiki/wiki/camitk/index.php/How_to_Report_a_Bug

Thank you,
Mahnu

RE: A way to make an old CEP compatible with a new verison of CamiTK ? [ reply ]
By: Haddad Oussama on 2016-06-22 20:24
[forum:3670]
hi

Thank you Sir Emmanuel. Before talking about Wiki It should work.

I did all of that but not the 4) add empty startImagingyD, stopImagingyD and singleAcquisitionyD method (where y != x and y = 2 or 3).

It compiled with no error but CamiTK refused to Accept the dll
Knowing that I gave it all what it needs using dependency walker

Can I say Plus and CamiTK can never marry ?

Thanks

RE: A way to make an old CEP compatible with a new verison of CamiTK ? [ reply ]
By: Emmanuel Promayon on 2016-06-21 17:01
[forum:3666]
hi

It seems that there was some change in the CamiTK API of ImageAcquisitionComponent between the two versions (I just realize now after looking at the svn history). This happened in commit #2076 (19 june 2015), i.e. CamiTK 3.5.0.
The commit renamed/created new virtual methods, and therefore, as the implementation of which were not provided in your version, generated the errors you mentioned.

The changes in the CamiTK 3.5.0 are the following:
- the init() method became initImager()
- run() was separated in two methods depending on the imaging system capabilities, namely startImaging2D() and startImaging3D()
- stop() was separated in two methods accordingly : stopImaging2D() and stopImaging3D()
- acquireImage() was separated in two methods as well: singleAcquisition2D() and singleAcquisition3D()
- two pairs of setter/getter were also added to unify and optimize the acquisition process.set/getImageComponent2D/3D + two private members

This is a break in the API backward compatibility and should have been documented, sorry about that. It somehow was missed by our radar.

Now to fix this for your CEP:
1) decide which type of acquisition you need/do: 2D or 3D
2) copy your current code from init/run/stop to initImager()/startImagingxD/stopImagingxD (where x = 2 or 3 depending on your usecase and existing code)
3) copy your current code from acquireImage to singleAcquisitionxD (where x = 2 or 3 depending on your usecase and existing code)
4) add empty startImagingyD, stopImagingyD and singleAcquisitionyD method (where y != x and y = 2 or 3)
That should give you a working/compiling CEP..

Hope this help your fight against time (I'll take any advice or tricks on this as well, as my fight is not going well either...).
If you can spare any time writing a wiki page, from this post and your personal experience, that would be really appreciate for later reference and other users who might need to update their CEP,

Note that you should check the actions/imageacquisitions directory in version 3.5 and above: it contains generic actions that automatically provide interactions with the inherited ImageAcquisitionComponent (some of your CEP actions might be easily replace by them, check the corresponding code). The nice thing about it is that they are available for any image acquisition system thanks to CamiTK service layer.

Let us know if this helped you (and please consider writing a wiki page!)

Mahnu

RE: A way to make an old CEP compatible with a new verison of CamiTK ? [ reply ]
By: Haddad Oussama on 2016-06-21 10:10
[forum:3665]
Hi

The version of CamiTK used is 3.5.0

UltrasonixComponent inherits from ImageAcquisitionComponent

UltrasonixComponent::UltrasonixComponent(const QString& file) throw(AbortException):ImageAcquisitionComponent(file, "Ultrasonix")
{
...
}

I just need to know is this help serious
I am really against time

Thank you

RE: A way to make an old CEP compatible with a new verison of CamiTK ? [ reply ]
By: Emmanuel Promayon on 2016-06-20 19:53
[forum:3664]
Hi,
Can you tell us what is the UltrasonixComponent class inheriting from?
There might have been a change in the base class between the two versions.

One other thing: What is the exact version that works (checked with camitk-config --version)?

Mahnu

RE: A way to make an old CEP compatible with a new verison of CamiTK ? [ reply ]
By: Haddad Oussama on 2016-06-15 17:12
[forum:3663]
Sorry the lines in the code that cose problems are 2

1
// --------------- Open -------------------
Component * UltrasonixComponentExtension::open(const QString & fileName) throw (AbortException) {
return new UltrasonixComponent(fileName);
}

2
// --------------- getInstance --------------------
ImageAcquisitionComponent* UltrasonixComponentExtension::getInstance(Component * parent, QString name) {
return new UltrasonixComponent(parent, name);
}

Thank you

RE: A way to make an old CEP compatible with a new verison of CamiTK ? [ reply ]
By: Haddad Oussama on 2016-06-15 17:07
[forum:3662]
Hi

I need VTK 5.10 because I am using Plus Library Assembla for 3D ultrasound imagery. Plus has its own VTK and the oldest version of Plus I found usues VTK 5.10.

my CEP is after CamiTK 3.2 ( VTK 5.8 ) because the cmake files look like that in [1]. I need to use CamiTK 3.5 ( so no conflicts in both VTKz ).

Now the error I am having is after cmaking the project and in VS9.2008 and in the ...ComponentExtension.cpp.

cannot instantiate abstract class ...

void camitk::ImageAcquisitionComponent::initImager(void)' : is abstract

I use a navigation station that have old XP windows.
Now I only have CamiTK 3.5.


Thank you Mahnu

RE: A way to make an old CEP compatible with a new verison of CamiTK ? [ reply ]
By: Emmanuel Promayon on 2016-06-15 07:08
[forum:3661]
Hi,

Thank you for your question.

There should be no specific things to do to move from 3.x (x<4) to 3.4.
There are some changes in the macro to take into account when migrating from 3.1 to 3.2 [1].
But from then, the API should be backward compatible. 3.4 introduces the frames [2], but that should not break your compilation.

3.5 does not introduce any big new thing, it is mainly a bug fixing version, recommended over 3.4.

You might need to tell us [3] more about the error you specifically have.

Did the cmake configuration phase pass?
What OS are you using?
Do you have the two versions installed on your computer?
etc..

One last thing: what is the reason to use VTK 5.10 over VTK 5.8 (just being curious)?

Let us know!
Mahnu

[1] https://forge.imag.fr/plugins/mediawiki/wiki/camitk/index.php/Migration_Guide_3.1_to_3.2
[2] https://forge.imag.fr/plugins/mediawiki/wiki/camitk/index.php/Frames_in_CamiTK
[3] https://forge.imag.fr/plugins/mediawiki/wiki/camitk/index.php/How_To_Ask_For_Help

RE: A way to make an old CEP compatible with a new verison of CamiTK ? [ reply ]
By: Oussama haddad on 2016-06-15 05:38
[forum:3660]
Hi,

You are right, in my question I was not clear.

I have a CEP that works fine with CamiTK 3.2 or 3.4 (with VTK 5.8), and I need to use CamiTK 3.5 (because I need VTK 5.10).

This CEP could not compile with CamiTK 3.5, and I need (may be it is the name) to migrate from 3.2(4) to 3.5 ?

Thank you

RE: A way to make an old CEP compatible with a new verison of CamiTK ? [ reply ]
By: Emmanuel Promayon on 2016-06-14 21:52
[forum:3659]
hello,

I may deduce, from your short question, that you are asking for help on migrating from CamiTK 3 to CamiTK 4.

May I suggest the CamiTK wiki? There are new pages, especially one about migration guide.

Hope this help!
Mahnu

PS: If I am wrong in interpreting your question, would you mind, please, to rephrase it (e.g., add a subject+verb)?

A way to make an old CEP compatible with a new verison of CamiTK ? [ reply ]
By: Oussama haddad on 2016-06-14 19:28
[forum:3658]
A way to make an old CEP compatible with a new verison of CamiTK ?

   
Powered By FusionForge