Hi Matt,
good to see you on the mitk-users list!
Thomas already was so kind to answer many questions, and you can find my
additional comments below.
On 04/28/2011 10:37 AM, Matt Clarkson wrote:
Hello there!
I'm just taking a look at MITK, and considering how I can use it
in/for my project.
I have compiled the code, and run "make install" in the MITK-build
directory, and in the installation folder, I get the CoreApp.app and
ExtApp.app, with all the plugins underneath. (Im running on a Mac). I
have looked at the wiki, and it mentions using the framework as a
library which would be useful. For example, the way that ITK manages
different data types in the data manager seems useful. In addition,
in the application I am writing, the general BlueBerry based
architecture could be useful in the long run, as already my code is a
bit messy when plugging things together. Also, several of the
available plugins would be immediately useful to me.
Please not that the way "make install" works (for now) will not enable
you to use the "installed" MITK as a SDK. We use "make install" together
with cpack to create deployable executables. If you want to develop with
MITK, you will always need to refer to a build tree.
As you probably already know, you will only be able to reuse the
existing plugins (all shared libraries starting with "org.mitk.") inside
a BlueBerry application. Of course you can reuse all other shared
libraries (MITK modules) in a traditional way by just linking to them.
So my questions now are how to use this in my own project. However,
it's not clear to me how I should best go about this:
1. I am used to downloading and compiling libraries, such as ITK, VTK,
Qt, boost etc, and our application then links against these libraries.
This means I have my own subclass of QMainWindow, and we code all our
application ourselves, and off we go, which is all quite simple.
However, if I was to use MITK would I
a) ... create my own application like
MITK/Applications/CoreApp/CoreApp.cpp and start from there? This
means I would have to write my own CMake code to FindMITK, link
against the right libraries, but also package all the right plugins in
the right folders when I install or deploy my application
b) ... write my code from within the MITK source code tree? i.e. if
I created a new plugin in the MITK directory structure, it would
presumably be much easier to get all the compiled code packaged in the
right place, but then my application would probably end up being
called ExtApp! i.e. it would be an MITK extension, not my own application.
c) ... just use MITK as a library.
First, I strongly discourage you from using option b). And choosing
either a) or c) depends on your use case but as Thomas already said, a)
and c) are not so much different.
You can have a look at
http://docs.mitk.org/nightly-qt4/NewPluginPage.html which explains how
to create a new plugin *and* a complete CMake - based project outside of
the MITK source tree (which contains something similar like CoreApp.cpp
or ExtApp.cpp). You could than look at the generated CMake files.
We are also currently working on making the deployment (make install)
process used in MITK available to external projects, so you will be able
to package your MITK (BlueBerry) base application.
Best regards,
Sascha
------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network
management toolset available today. Delivers lowest initial
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users