diff --git a/Documentation/Doxygen/DeveloperManual/DeveloperManualPortal.dox b/Documentation/Doxygen/DeveloperManual/DeveloperManualPortal.dox index 8de6fe65b6..3f3aa826bb 100644 --- a/Documentation/Doxygen/DeveloperManual/DeveloperManualPortal.dox +++ b/Documentation/Doxygen/DeveloperManual/DeveloperManualPortal.dox @@ -1,29 +1,33 @@ /** \page DeveloperManualPortal MITK: Developer Manual -Development with MITK can happen under several conditions. Depending on whether you are using the Toolkit or the entire application, different sections may apply to you. In case you are unsure about what you need, please refer to \link Architecture The Architecture of MITK text\endlink. An extensive Introduction to MITK is available under \link StartingDevelopment Starting your MITK Development\endlink. +Development with MITK can happen under several conditions. Depending on whether you are using the Toolkit or the entire application, different sections may apply to you. +In case you are unsure about what you need, please refer to \link Architecture The Architecture of MITK text\endlink. +An extensive Introduction to MITK is available under \link StartingDevelopment Starting your MITK Development\endlink. -Depending on whether you are working with the \link DevelopmentToolkit Toolkit\endlink or the \link DevelopmentApplication Application\endlink, you can refer to their respective pages. Generated API-Documentation can be found \link DevelopmentAPI here\endlink. +Once you have made yourself familiar with MITK, you should have a look at the \link Concepts Development Concepts\endlink, as MITK implements a lot of high-level functionality. +Knowing about these concepts will prevent you from reimplementing functionality. + +Once you start consuming more specific functionality, the \link MITKModuleManualsListPage Module Manual\endlink will be helpful to understand how a specific plugin works and what functionality it provides. + +Finally, generated API-Documentation can be found \link DevelopmentAPI here\endlink. */ diff --git a/Documentation/Doxygen/DeveloperManual/Starting/GettingToKnow/Tutorial/Step00.dox b/Documentation/Doxygen/DeveloperManual/Starting/GettingToKnow/Tutorial/Step00.dox index 0e15cbabd1..d92b32cd5d 100644 --- a/Documentation/Doxygen/DeveloperManual/Starting/GettingToKnow/Tutorial/Step00.dox +++ b/Documentation/Doxygen/DeveloperManual/Starting/GettingToKnow/Tutorial/Step00.dox @@ -1,15 +1,15 @@ /** \page Step00Page MITK Tutorial - Step 0: Getting started To build the tutorials follow the \ref BuildInstructionsPage and make sure that MITK_BUILD_EXAMPLES is checked/set to ON. \image html configureCMake.PNG -The tutorial source files can be found in the Applications\\Tutorial\\ subdirectory of the source tree. The tutorial executables are in the bin\\Release\\ or bin\\Debug\\ subdirectory of the binary tree after compilation. +The tutorial source files can be found in the Examples\\Tutorial\\ subdirectory of the source tree. The tutorial executables are in the bin\\Release\\ or bin\\Debug\\ subdirectory of the binary tree after compilation. \ref Step01Page "[Next step]" \ref TutorialPage "[Main tutorial page]" */ diff --git a/Documentation/Doxygen/DeveloperManual/Starting/GettingToKnow/Tutorial/configureCMake.PNG b/Documentation/Doxygen/DeveloperManual/Starting/GettingToKnow/Tutorial/configureCMake.PNG index 56d6691450..298a8104e8 100644 Binary files a/Documentation/Doxygen/DeveloperManual/Starting/GettingToKnow/Tutorial/configureCMake.PNG and b/Documentation/Doxygen/DeveloperManual/Starting/GettingToKnow/Tutorial/configureCMake.PNG differ diff --git a/Documentation/Doxygen/DeveloperManual/Toolkit/DevelopmentToolkit.dox b/Documentation/Doxygen/DeveloperManual/Toolkit/DevelopmentToolkit.dox deleted file mode 100644 index 19ed8049b3..0000000000 --- a/Documentation/Doxygen/DeveloperManual/Toolkit/DevelopmentToolkit.dox +++ /dev/null @@ -1,15 +0,0 @@ -/** - -\page DevelopmentToolkit Developing with the MITK Toolkit - -Two major sections are available for your reference. \ref Concepts will explain several core concepts of MITK on a more abstract level. -We advise to read this section and to understand the available concepts, as this will prevent you from reimplementing functionality. -\ref MITKModuleManualsListPage shows a list of the available module manuals for in depth advice on how to use each module. - - - - -*/ diff --git a/Modules/US/Documentation/doxygen/USHierarchy.png b/Modules/US/Documentation/doxygen/USHierarchy.png new file mode 100644 index 0000000000..0ba713736a Binary files /dev/null and b/Modules/US/Documentation/doxygen/USHierarchy.png differ diff --git a/Modules/US/Documentation/doxygen/USLifecycle.png b/Modules/US/Documentation/doxygen/USLifecycle.png new file mode 100644 index 0000000000..028b801910 Binary files /dev/null and b/Modules/US/Documentation/doxygen/USLifecycle.png differ diff --git a/Modules/US/Documentation/doxygen/USModule.dox b/Modules/US/Documentation/doxygen/USModule.dox new file mode 100644 index 0000000000..60658eb0d7 --- /dev/null +++ b/Modules/US/Documentation/doxygen/USModule.dox @@ -0,0 +1,63 @@ +/** +\page USModulePage The Ultrasound Module + +\section USModulePageOverview Overview + +The Ultrasound Module provides a microservice Based API for ultrasound devices. +The main features are: + + +This module requires OpenCV to be enabled in the superbuild options via CMAKE. +Its functionality is made available to the User via the \link org_mitk_gui_qt_ultrasound UltrasoundSupport Plugin \endlink + +\section USDeviceHierarchy Ultrasound Device Hierarchy + +Ultrasound Devices are managed in a simple hierarchy: + +\image html USHierarchy.png + + + +\section USDeviceLifecycle USDevice Life cycle + +Once you a USDevice is constructed, it can be connected via call to mitk::USDevice::Connect(). +This will cause the Device to register itself in the Microservice Framework and will make the device available to other Modules, the UltrasoundSupport Plugin and the USDeviceManagerWidget in the USUI Module. +The Connect() method is not virtual and should never be overwritten. +Instead, override mitk::USDevice::OnConnect(), which will be called during the connection Process and enables you to react to this event. +A connected device is available to other modules, but is not acquiring image data. +Analogously to Connect, there is a function mitk::USDevice::Activate which will start the image acquisition. +Again, this method is not virtual, override mitk::USDevice::OnActivate to react to activation. + +Matching functions mitk::USDevice::Disconnect(), mitk::USDevice::OnDisconnect, mitk::USDevice::Deactivate, mitk::USDevice::OnDeactivate exist as well. + +The following diagram illustrates the situation: + +\image html USLifecycle.png + +The blue message symbols indicate that the corresponding method of the subclass is called to react to the event. + +\section USDWidgets available Widgets + +There are two Widgets available that ca be used for plugin development. The USDeviceManagerWidget can view connected USDevices and allows the user to activate, deactivate and disconnect devices. The NewVideoDeviceWidget allows the user to configure a frame grabber or other video input as a USVideoDevice. Both Plugins are described in more detail in the \link org_mitk_gui_qt_ultrasound UltrasoundSupport Plugin Documentation\endlink. +*/ \ No newline at end of file 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 b5aba928eb..d893e12b2e 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,70 @@ /** \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 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. +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. +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 ddevicemanagement_2.png "Devicemanager with configured device" +\image html devicemanagement_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. +A ultrasound device in MITK can be connected and activated. The device you just created automatically is now 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. - - - */