[Ctk-developers] [mitk-users] Moving BlueBerry Framework from MITK towards CTK making it independant of the massive MITK setup

Nolden, Marco M.Nolden at Dkfz-Heidelberg.de
Fri Jan 22 09:51:59 UTC 2021


Hi Ramazan,

thanks for your interesting efforts! I see the general idea, and conceptually BlueBerry may be closer to the CTK plugin framework than to MITK, but at the same time it’s a working system in the way it’s setup right now.

Could you maybe give some background about your goals or expectations? You can probably understand that a massive change like this will need considerable resources for review and maintenance in both communities to make this change something the projects using CTK are having a real benefit from.

One thing that has been discussed in the MITK community before was a standalone BlueBerry, to make it available to non-medical applications. So this _could_  be something to aim for, but again this wouldn’t be a primary goal for MITK development right now, and in my opinion this could or even should also live outside of the primary CTK repository to make it most useful for the non-medical community looking for a flexible application framework.

Marco



Von: Ctk-developers <ctk-developers-bounces at public.kitware.com> Im Auftrag von Ramazan Ergüder Bekrek
Gesendet: Dienstag, 19. Januar 2021 13:47
An: mitk-users <mitk-users at lists.sourceforge.net>; ctk-developers <ctk-developers at public.kitware.com>
Betreff: Re: [Ctk-developers] [mitk-users] Moving BlueBerry Framework from MITK towards CTK making it independant of the massive MITK setup

Good news everyone the whole BLUEBERRY framework is now 100% successfully compiling on Windows with VS 2019 and Qt.

Here you can find the latest repo version

https://github.com/al-sabr/CTK/commits/ctk-blueberry-port-from-mitk

Besdt Regards


18.01.2021, 13:48, "Ramazan Ergüder Bekrek" <e.bekrek at yandex.com<mailto:e.bekrek at yandex.com>>:
So I was able to convert Blueberry framework from MITK towards CTK.
I was able to successfully compile 7 out of 8 plugins and I had some issues compiling org.blueberry.ui.qt.help because there is a bug in qt5-webengine version 5.15.1.

The link for the repo with working compilation is here : https://github.com/al-sabr/CTK/commits/ctk-blueberry-port-from-mitk

I filed a ticket on github on vcpkg repository here : https://github.com/microsoft/vcpkg/issues/15712

I still don't understand what it is concerning but I am waiting for the fix they proposed.

Any thought on what could be done next I'm working on this alone and I would appreciate if someone could give some inputs for guidance.

Best Regards


18.01.2021, 13:40, "Ramazan Ergüder Bekrek" <e.bekrek at yandex.com<mailto:e.bekrek at yandex.com>>:
So I was able to convert Blueberry framework from MITK towards CTK.
I was able to successfully compile 7 out of 8 plugins and I had some issues compiling org.blueberry.ui.qt.help because there is a bug in qt5-webengine version 5.15.1.

I filed a ticket on github on vcpkg repository here : https://github.com/microsoft/vcpkg/issues/15712

I still don't understand what it is concerning but I am waiting for the fix they proposed.

Any thought on what could be done next I'm working on this alone and I would appreciate if someone could give some inputs for guidance.

Best Regards



13.01.2021, 23:42, "Ramazan Ergüder Bekrek" <e.bekrek at yandex.com<mailto:e.bekrek at yandex.com>>:
Have a look at the commits of that branch and you will get what I am talking about. If you have ideas and details you noticed I didn't take into consideration then let me know.

https://github.com/al-sabr/CTK/commits/ctk-blueberry-port-from-mitk

Best regards


13.01.2021, 20:48, "Ramazan Ergüder Bekrek" <e.bekrek at yandex.com<mailto:e.bekrek at yandex.com>>:
I just started from scratch again so that you can follow what I am talking about since the beginning

https://github.com/al-sabr/CTK/tree/ctk-blueberry-port-from-mitk


13.01.2021, 18:59, "Ramazan Ergüder Bekrek" <e.bekrek at yandex.com<mailto:e.bekrek at yandex.com>>:
Another solution could be we check inside of the code from Blueberry and remove all connection to mbilog and adapt it with the logging system from CTK just by replacing the specific lines. This is just another idea I am not sure about 100% so I would need you perspective.


13.01.2021, 16:52, "Alex Melville" <amelvill at umich.edu<mailto:amelvill at umich.edu>>:
Hi Ramazan,

I am aware of the Virtual PC option and I have several of them, but they are very very slow since Visual Studio is very very disk I/O heavy. To make things a bit more complicated, I need to run Docker on my primary dev machine (which prevents me from easily running VirtualBox) so all this would have to happen on a different PC.

If I get time I can see what I can do, but let's be honest, this will not be an insignificant amount of effort. CMake / build scripts in general are not a super convenient thing to debug remotely.

Did you get a chance to try my suggestion? How did it go?

- Alex

On Wed, Jan 13, 2021 at 10:47 AM Ramazan Ergüder Bekrek <e.bekrek at yandex.com<mailto:e.bekrek at yandex.com>> wrote:
I also found this link with 196 mb iso file which is stripped down version.

https://sites.google.com/site/tinyxpfiles/home/1


12.01.2021, 21:21, "'Ramazan Ergüder Bekrek'" <e.bekrek at yandex.com<mailto:e.bekrek at yandex.com>>:

What I would recommend you to do is to install Virtual Box with Tiny Vista Images Fromm Torrents and Install it Takes 15 Minutes Thema visual Studio 2019 Community with mitk latest Version and my repo. What die you think?



15:49, January 12, 2021, "amelvill at umich.edu<mailto:amelvill at umich.edu>" <amelvill at umich.edu<mailto:amelvill at umich.edu>>:

Hi Ramazan,



First, there’s one unfortunate thing I have to mention, we use a rather old version of MITK, and as a result, every PC I have that I use with MITK uses Visual Studio 2013 and there’s no way I can upgrade, and I can’t risk running a more recent version in parallel.



So I can give you suggestions, but unfortunately it will probably be a futile effort for me to actually try and build it. I can’t even make a fresh install of Windows, because this job has taken every PC and SSD I own, and then some (between the dev PC and my “build” PC).



Anyway, here is what I think about this:



mbilogExports.h:



mbilogExports.h is an automatically generated header that comes as part of the build process. For me this is what it contains (I found it here: MITK-superbuild\MITK-build\Utilities\mbilog\mbilogExports.h)



#ifndef MBILOG_EXPORT_H

#define MBILOG_EXPORT_H



#ifdef MBILOG_STATIC_DEFINE

#  define MBILOG_EXPORT

#  define MBILOG_NO_EXPORT

#else

#  ifndef MBILOG_EXPORT

#    ifdef mbilog_EXPORTS

        /* We are building this library */

#      define MBILOG_EXPORT __declspec(dllexport)

#    else

        /* We are using this library */

#      define MBILOG_EXPORT __declspec(dllimport)

#    endif

#  endif



#  ifndef MBILOG_NO_EXPORT

#    define MBILOG_NO_EXPORT

#  endif

#endif



#ifndef MBILOG_DEPRECATED

#  define MBILOG_DEPRECATED __declspec(deprecated)

#endif



#ifndef MBILOG_DEPRECATED_EXPORT

#  define MBILOG_DEPRECATED_EXPORT MBILOG_EXPORT MBILOG_DEPRECATED

#endif



#ifndef MBILOG_DEPRECATED_NO_EXPORT

#  define MBILOG_DEPRECATED_NO_EXPORT MBILOG_NO_EXPORT MBILOG_DEPRECATED

#endif



#if 0 /* DEFINE_NO_DEPRECATED */

#  ifndef MBILOG_NO_DEPRECATED

#    define MBILOG_NO_DEPRECATED

#  endif

#endif



#endif /* MBILOG_EXPORT_H */



This is kind of a hacky thing to do, but I wonder if you could just copy/paste this into the mbilog source and use that, since I can’t think of a reason why this needs to be auto-generated, other than to take advantage of some free stringizing.



Try this and let me know what happens,



Hope that helps,



  *   Alex





From: Ramazan Ergüder Bekrek <e.bekrek at yandex.com<mailto:e.bekrek at yandex.com>>
Sent: Tuesday, January 12, 2021 7:36 AM
To: amelvill at umich.edu<mailto:amelvill at umich.edu>
Subject: Re: [mitk-users] Moving BlueBerry Framework from MITK towards CTK making it independant of the massive MITK setup



Well you can follow the part I blocked. It seems that we need to adapt mbilog or remove it by replacing the logging system from CTK. I was wondering if we could just wrap it around CTK's logging and bam smoothly let it believe that it still uses MITK logging.



What do you think?



Best Regards

16:20, October 6, 2020, "Ramazan Ergüder Bekrek" <e.bekrek at yandex.com<mailto:e.bekrek at yandex.com>>:

Greetings,

I am still in the pursuit of happiness with this endeavor of moving BlueBerry from MITK downward to CTK. Up until now I didn't receive any feedback with that repository that I created as a branch.

I still persisted and almost got it working but due to my lack of CMake understanding I think a little support from all of you would be appreciated. I almost was able to compile org.blueberry.core.runtime as I had it converted to a CTK plugin format when it complained that mbilog was missing its include files.

I've checked mbilog in MITK and saw that it was a MITK Module. Since there is no module in CTK I thought the equivalent could be a Lib like the Core, PluginFramework, etc...

So I converted the mbilog as a CTK Library and almost got it work. Unfortunately I don't understand what is mbilog and also I ask myself if there is no such equivalent available in CTK already that we could just adapt org.blueberry.core.runtime to use that instead of mbilog.

This is the error I am getting when I try to compile

1> CTKCore.vcxproj -> G:\programming\cpp\CTK\build\CTK-build\bin\Debug\CTKCore.dll
1> CTKWidgets.vcxproj -> G:\programming\cpp\CTK\build\CTK-build\bin\Debug\CTKWidgets.dll
1> CTKWidgetsPlugins.vcxproj -> G:\programming\cpp\CTK\build\CTK-build\bin\designer\Debug\CTKWidgetsPlugins.dll
1> CTKPluginFramework.vcxproj -> G:\programming\cpp\CTK\build\CTK-build\bin\Debug\CTKPluginFramework.dll
1> Generating moc_mbilogExports.cpp
1> moc: G:/programming/cpp/CTK/Libs/mbilog/mbilogExports.h: No such file

I created this include file to reflect the structure from MITK inside of CTK/Libs/Core/include:MITK/Modules/Core/include :
https://github.com/al-sabr/CTK/blob/d39f75568a08cbd0efca6042e17b2a68567b9d0a/Libs/Core/include/ctkLogMacros.h#L1

I did the standard export directive here :
https://github.com/al-sabr/CTK/blob/d39f75568a08cbd0efca6042e17b2a68567b9d0a/Libs/Core/CMakeLists.txt#L17

I still don't get why this file is not created by CTK.

I also added this line from MITK in CTK/Libs/Core/CMakeLists.txt
https://github.com/al-sabr/CTK/blob/d39f75568a08cbd0efca6042e17b2a68567b9d0a/Libs/Core/CMakeLists.txt#L19
https://github.com/al-sabr/CTK/blob/d39f75568a08cbd0efca6042e17b2a68567b9d0a/Libs/Core/CMakeLists.txt#L154

The only thing I could not get my head around is this part which I could not translate to CTK. I think there is no equivalent but if there is one please let me know:
https://github.com/al-sabr/CTK/blob/2359469f3d321a04b6078f49ee51168cf958536a/Libs/mbilog/CMakeLists.txt#L44

You can follow the commit timeline https://github.com/al-sabr/CTK/commits/ctk-blueberry-framework

Best regards







_______________________________________________
mitk-users mailing list
mitk-users at lists.sourceforge.net<mailto:mitk-users at lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/mitk-users


--
Sent from Yandex.Mail for mobile


--
Sent from Yandex.Mail for mobile
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/ctk-developers/attachments/20210122/df1f948b/attachment.htm>


More information about the Ctk-developers mailing list