diff --git a/Documentation/Doxygen/DeveloperManual/Starting/FirstSteps/NewModule.dox b/Documentation/Doxygen/DeveloperManual/Starting/FirstSteps/NewModule.dox index ac64bbafbe..73f6cc9184 100644 --- a/Documentation/Doxygen/DeveloperManual/Starting/FirstSteps/NewModule.dox +++ b/Documentation/Doxygen/DeveloperManual/Starting/FirstSteps/NewModule.dox @@ -1,4 +1,80 @@ /** \page NewModulePage How to create a new MITK Module - + +\subsection CreateFolder 1) Create a Folder for your Module + +First, create a folder for your module within /Modules e.g. 'NewModule'. +You need to add the new Folder to the CMakeLists.txt in the Module directory as well as well. +Open /Modules/CMakeLists.txt, it should be pretty clear how to add the Module, just insert it into the set(module_dirs) section. + +\code +set(module_dirs + ... + NewModule +) +\endcode + +Inside the folder create a new folder called "Testing", which will later contain the module tests. +Also create subfolders for you sourceFiles, for example "NewModuleFilters" and "NewModuleSourceFiles". + +\subsection CreateCMakeLists 2) Create CMakeLists.txt + +Within your module create the following file named CMakeLists.txt with the following content: + +\code +MITK_CREATE_MODULE(NewModule #<-- module name + SUBPROJECTS + INCLUDE_DIRS NewModuleFilters NewModuleServices #<-- sub-folders of module + INTERNAL_INCLUDE_DIRS ${INCLUDE_DIRS_INTERNAL} + DEPENDS Mitk #<-- modules on which your module depends on +) + +ADD_SUBDIRECTORY(Testing) #<-- Directory for tests +\endcode + +Choose a fitting module name. This name should only contain Letters (both upper- and lowercase), no numbers, no underscores etc. +This name will be used to qualify your Module within the MITK Framework, so make sure it is unique. +Typically, the name will be the same as name of the Folder the Module resides in. + +It is good practice to create subfolders in your module to structure your classes. +Make sure to include these folders in the List of subfolders, or CMake will not find the internal Files. + +In the DEPENDS section, you can enter the modules that your module requires to function. +You will not be able to use classes from modules that are not listed here. + +\subsection Createfilesdotcmake 3) Create files.cmake + +Next, create a new file and name it files.cmake, containing the following: + +\code +SET(CPP_FILES + NewModuleFilters/File1.cpp + NewModuleFilters/File2.cpp + + NewModuleServices/Filter1.cpp +) +\endcode + +Add each .cpp file you create to this file. +Also, only add you .cpp files here, not the header files! + +\subsection CreateTEstingEnvironment 4) Set up the Test environment + +Inside your "Testing" Folder, create a new files.cmake containing the following: + +\code +SET(MODULE_TESTS + mitkNewModuleTest.cpp +) + +Also, create a new CMakeLists.text: + +\code +MITK_CREATE_MODULE_TESTS() +\endcode + */ + +That's it! Enjoy your new module! After following these steps, it should look something like this: + +\image html NewModule.png "Your shiny new module!" diff --git a/Documentation/Doxygen/DeveloperManual/Starting/GettingToKnow/CMakeFAQ.dox b/Documentation/Doxygen/DeveloperManual/Starting/GettingToKnow/CMakeFAQ.dox index a0495ae8a6..ecae4e79b4 100644 --- a/Documentation/Doxygen/DeveloperManual/Starting/GettingToKnow/CMakeFAQ.dox +++ b/Documentation/Doxygen/DeveloperManual/Starting/GettingToKnow/CMakeFAQ.dox @@ -1,38 +1,41 @@ /** \page CMAKE_FAQ CMake FAQ \section CMAKE_FAQ_General A general comment -MITK uses %CMake for configuration. If you want to develop either using MITK as a toolkit or by extending the capabilities of the applications provided by us we recommend using %CMake for your own prject as well. While it might be possible to use MITK in conjunction with other options, such as QMake or setting up your own project manually it will invariably use a lot of work and probably hacks as well. As we have no experience in this we will not be able to help you, so be prepared to have to do a lot of tweaking on your own. +MITK uses %CMake for configuration. If you want to develop either using MITK as a toolkit or by extending the capabilities of the applications provided by us, we recommend using %CMake for your own project too. +While it might be possible to use MITK in conjunction with other options, such as QMake or setting up your own project manually it will invariably involve a lot of work and probably hacks as well. +As we do have no experience with this, we will not be able to help you. +Be prepared to do a lot of tweaking on by yourself. -This guide does not try to give a general introduction to Cmake, instead it tries to answer some basic questions that might arise for those new to %CMake, to help you get started on MITK. For a more comprehensive introduction on %CMake see here. +This guide does not try to give a general introduction to CMake, instead it tries to answer some basic questions that might arise for those new to %CMake, to help you get started on MITK. For a more comprehensive introduction on %CMake see here. We will assume in this guide, that the path to your source is /MITK/. \section CMAKE_FAQ_Question Basic Questions \subsection CMAKE_FAQ_Question_WhereGetIt Where do I get CMake and what version do I need? See \ref BuildInstructions_Prerequisites. \subsection CMAKE_FAQ_Question_NewPluginNothing I coded a new plugin for the Workbench and nothing happened. Why? The correct way to create a new plugin is described in \ref NewPluginOnly. Do note that you need to move the source to the MITK/Plugins directory and you will have to add the plugin to the config file (most likely MITK/Plugins/Plugins.cmake). After that see \ref CMAKE_FAQ_Question_HowDoIActivatePlugin. \subsection CMAKE_FAQ_Question_HowDoIActivatePlugin I want to use a plugin, how do I activate it?
  1. Start %CMake
  2. Configure
  3. Set the variable MITK_BUILD_ to TRUE
  4. Configure again
  5. Generate
  6. Start a build using your development environment
\subsection CMAKE_FAQ_Question_HowDoIActivateModule I want to use a module, how do I activate it? Modules are build automatically if a plugin that requires them is activated. See \ref CMAKE_FAQ_Question_HowDoIActivatePlugin. \subsection CMAKE_FAQ_Question_HowOwnToolkits MITK always downloads the toolkits, but I want to use my own. This is covered in \ref HowToNewProjectCustomizingMITKConfigure. \subsection CMAKE_FAQ_Question_HowOwnProjectMITK I want to use an MITK plugin in my own project but I can not find it. See \ref HowToNewProjectAddingMITKFunctionality. */ \ No newline at end of file diff --git a/Documentation/Doxygen/DeveloperManual/images/NewModule.png b/Documentation/Doxygen/DeveloperManual/images/NewModule.png new file mode 100644 index 0000000000..c379c6649a Binary files /dev/null and b/Documentation/Doxygen/DeveloperManual/images/NewModule.png differ diff --git a/Documentation/Doxygen/UserManual/Applications.dox b/Documentation/Doxygen/UserManual/Applications.dox index 68ee016c23..bf3cdfa36f 100644 --- a/Documentation/Doxygen/UserManual/Applications.dox +++ b/Documentation/Doxygen/UserManual/Applications.dox @@ -1,27 +1,33 @@ /** \page ApplicationsPage Using MITK and Applications \tableofcontents -\section ApplicationsPageUsingMITK Using MITK - -Many of the applications created with the use of MITK share common basic functionalities. Due to this, there is one manual which explains the basic usage of MITK. For more information on the use of the advanced features of an application please take a look the \ref ApplicationsPageApplicationsList , whereas if you are interested in a certain view further information can be found in \ref PluginListPage . - -The basic usage information on MITK can be found in \ref MITKUserManualPage . - \section ApplicationsPageApplications What are Applications? -Applications are executables, which contain a certain configuration of views and perspectives. Usually they are aimed at a selective audience or solving a particular problem. As such they focus on certain capabilities of MITK, while ignoring others. The main reason for this is to supply the users of the application with the power of MITK for solving their tasks, without daunting them with an overwhelming number of menus and options. At the same time, this allows, together with the use of perspectives, the creation of sleek and elegant workflows, which are easily comprehensible. +Applications are special versions of MITK which contain functionality aimed at solving a special task. +Usually they are aimed at a selective audience or solving a particular problem. +As such they focus on certain capabilities of MITK, while ignoring others. +The main reason for this is to supply the users of the application with the power of MITK for solving their tasks, without daunting them with an overwhelming number of menus and options. +At the same time, this allows the creation of an elegant and easily comprehensible workflow for your task. +The Diffusion Imaging Application for example contains all the functionality necessary for the field of neuro-imaging, but does not contain support for ultrasound imaging. A typical example of this would be an application which contains only views related to the analysis of the human brain (particular question) or one which contains only what is necessary for displaying medical data in the classroom (specific audience). + +\section ApplicationsPageWhatAmIUsing Which Application am I using? + +If you are unsure which application you are currently using, start the application and have a look in the Title Bar. +You should see it's name there. + +\image html ApplicationTitle.jpg "The application name is displayed in the title bar" \section ApplicationsPageApplicationsList List of Applications If you are interested in using a specific application, currently developed by the MITK team you might want to take a look first at the \ref MITKUserManualPage . Further information on any application can be found here: */ \ No newline at end of file diff --git a/Documentation/Doxygen/UserManual/UserManualPortal.dox b/Documentation/Doxygen/UserManual/UserManualPortal.dox index 5892a8147d..7cf693a74c 100644 --- a/Documentation/Doxygen/UserManual/UserManualPortal.dox +++ b/Documentation/Doxygen/UserManual/UserManualPortal.dox @@ -1,15 +1,19 @@ /** \page UserManualPortal MITK: User Manual -To get an introduction into the usage of any MITK based application please read \ref MITKUserManualPage. It will give you an overview of most of the common questions, such as how to load or save data or navigate within it. You can find a short description of the intended purpose and audience of MITK based applications developed by us at \ref ApplicationsPage. -For more specific questions regarding the usage of a certain plugin (like e.g. the segmentation view) you can refer to a list of \ref PluginListPage +To get an introduction to the usage of any MITK based application please read \ref MITKUserManualPage. It will give you an overview of most of the common questions, such as how to load or save data or navigate within it. This is a good starting point for first questions. -For more specific information on how a plugin operates you can find the plugin documentation in \ref PluginListPage. Depending on the application you are using you might have only some or all of the listed plugins available. +Depending on what kind of work you intend do perform with MITK, certain applications are better suited to your needs than others. MITK offers a number of these Applications, each of which features a set of Plugins, which can solve certain tasks. To Learn more about MITK applications, please visit the \ref ApplicationsPage. + +For more specific information on how a plugin operates you can find the plugin documentation in \ref PluginListPage. The Plugin documentation usually explains the functionality in depth and should solve most problems you might encounter with the plugin. Depending on the application you are using you might have only some or all of the listed plugins available. + +Lastly, if your question is not answered here, please use our Mailinglist to let us know about your problem. +Alternatively, you can contact us directly. \section UserManualPortalTopics List of topics */ \ No newline at end of file diff --git a/Documentation/Doxygen/UserManual/images/ApplicationTitle.jpg b/Documentation/Doxygen/UserManual/images/ApplicationTitle.jpg new file mode 100644 index 0000000000..d862f5ad78 Binary files /dev/null and b/Documentation/Doxygen/UserManual/images/ApplicationTitle.jpg differ diff --git a/Modules/US/mitkUSConfig.h.in b/Modules/US/mitkUSConfig.h.in deleted file mode 100644 index 17365e6892..0000000000 --- a/Modules/US/mitkUSConfig.h.in +++ /dev/null @@ -1,4 +0,0 @@ -/* - mitkIGTUIConfig.h - this file is generated. Do not change! -*/ diff --git a/Plugins/org.mitk.gui.qt.ultrasound/documentation/UserManual/Manual.dox b/Plugins/org.mitk.gui.qt.ultrasound/documentation/UserManual/Manual.dox index 2b767e9cb6..b5aba928eb 100644 --- a/Plugins/org.mitk.gui.qt.ultrasound/documentation/UserManual/Manual.dox +++ b/Plugins/org.mitk.gui.qt.ultrasound/documentation/UserManual/Manual.dox @@ -1,68 +1,68 @@ /** \page org_mitk_gui_qt_ultrasound The Ultrasound Plugin \image html icon.xpm "Icon of Ultrasound" Available sections: - \ref org_mitk_gui_qt_ultrasoundOverview \section org_mitk_gui_qt_ultrasoundOverview This plugin offers a simple interface to create and manage ultrasound devices. Devices, once configured, will be stored and loaded on the next start of MITK. One can configure several aspects of the images acquired. Last but not least, this plugin makes the configured devices available as a microservice, exposing them for further usage in other plugins. \section org_mitk_gui_qt_ultrasoundPrerequisites Prerequisites To make use of this plugin, you obviously require an ultrasound device. The device must have a video-out of one kind or another. Typical video-outs are: HDMI, DVI, VGA and S-Video. You also need a Video-Grabber that can acquire the image data from the ultrasound device. In principal, this plugin is compatible with any grabber that allows the Operating system to access it's functionality. However, not all grabbers are created equal. Make sure your grabber supports the video-out offered by your ultrasound device and that it can achieve a satisfying framerate. We have made good experiences with epiphan Grabbers and currently recommend the epiphan DVI2USB 3.0 device which supports HDMI, DVI and VGA, but less costly grabbers certainly are an option. \section org_mitk_gui_qt_ultrasoundCreateDevice Creating an Device To configure an ultrasound device, connect the ultrasound device to the grabber and the grabber to the computer. Start the ultrasound device and open the ultrasound plugin. The devicemanager will open. -\image html devicemanager.png "MITK Screenshot with the devicemanager activated" +\image html devicemanagement.png "MITK Screenshot with the devicemanager activated" Any currently configured devices are listed in the box, which accordingly is empty now. Click "New Device". \image html newvideodevice.png "The 'New Device' form" In the appearing form, enter descriptive data on your device in the corresponding fields. Manufacturer and model will be used to display the device in MITK. You may choose the video source ID if more than one is available (as is the case on laptops with built-in webcams). On Windows, try -1 (defaults to the first available source). On Linux and Mac try 0 and 1. If the wrong camera is address, simply try the next ID. Most ultrasound images are grey scale, so using a grey scale conversion doesn't take information away from the image, but makes processing images significantly faster. Only uncheck this box if you require color. Click Add Device to save your changes. -\image html devicemanager_2.png "Devicemanager with configured device" +\image html ddevicemanagement_2.png "Devicemanager with configured device" \section org_mitk_gui_qt_ultrasoundActivateConnect Activation and Connection A ultrasound device in MITK can be connected and activated. The device you just created automatically became connected. A connected device is available to all other plugins in MITK, but does not jet generate image data. Disconnecting the device causes it to be deleted and not be available anymore. Click the device, then click "Activate Device". The device is now activated and generates image data continuously. Click the "US-Imaging Tab" \image html usimaging.png "US Imaging Tab" Select the device and click "Start Viewing". The US-Image should appear. You can adjust the cropping parameters to reduce the acquired image size which will further increase speed and remove unnecessary information. All changes are saved and restored whenever MITK is started. */