Page MenuHomePhabricator

Restructure MITK concept documentation
Closed, ResolvedPublic

Description

The page "MITK concepts" is a central part of the MITK doxygen pages. At the moment it is a collection of different pages, describing defined topics.

I would recommend to structure this pages and also add a few topics which are missing at the moment. This will help to give an overview over the MITK concept in all.

Current pages:

Geometry Overview
Interaction and Undo/Redo Concepts
Overview on the Medical Imaging Interaction Toolkit (MITK)
The C++ Micro Services
The MITK Property Concept
Rendering in MITK by means of the QT-VTK widget
Automatic Rendering Tests
(Exception Concept / work in progress)
(Logging Concept / work in progess)

Proposal for new structured pages:

  1. Overview / Introduction (adapt current page)
  1. General Coding Concepts 2.1. General (e.g. SmartPointers, maybe link to ITK) 2.2. Coding Style (adapt or link to the MITK style guide) 2.3. Using Macros (todo) 2.4. C++ Micro Services (use current page)
  1. Data Concept 3.1. Data Storage (todo) 3.2. Property Overview (use current page) 3.3. Geometry Overview (use current page)
  1. Rendering Concept (use current page)
  1. Interaction Concept (use current page)
  1. Logging Concept (work in progress)
  1. Exception Concept (work in progress)
  1. Testing Concept 8.1. General (Todo) 8.2. Automatic Rendering Tests (use current page)
  1. Application Concept (all todo) 8.1. General 8.2. Plug-Ins 8.3. Perspective Concept

also have a look to the folder MITK\Documentation\Doxygen\Modules, where out-dated documentation was collected. Perhaps some parts/phrases can be reused.

Event Timeline

What is missing currently, maybe we can add it to the Introduction:

short overview of the software structure of MITK (what are modules, MITK as library / as application, etc...), I'll attach an overview image which I created for my diploma thesis, maybe it's usefull.

But I don't mean a detailed description here. Only a few sentences to describe the concept of MITK overall.

overview software structure of MITK

mitk_overview.png (365×857 px, 23 KB)

We could probably use some of the material from the MITK tutorial (the presentation one) as well.

I would put "Geometry" out of data concept and together with the rendering concept in one chapter.

  1. Geometry & Rendering
  2. Geometry
  3. Rendering

Created new branch bug-11953-RestructureMITKConceptDocumentation for work on the concept documentation.

As proposed via mailing list, I will wirte chapter regarding MitkImage and the Pipeline concept.

For the data concept part, some ideas of what sould be included :
This is taking heavily from
MITK/Documentation/Modules/ModuleDataManagement.dox
MITK/Documentation/Modules/ModuleDataManagementIO.dox
MITK/Documentation/Modules/ModuleDataTree.dox

Organisation:

Division between actual Data and Management of Data:
-BaseData vs Datanode?
-What is a Datastorage, how many are there?
--How do I get a Datastorage (Code Snippet) ?
--How do I create and add a node to the datastorage (Code Snippet)?
-Factories in MITK?
-Adding an own DataType?
--Reader, Writer, Mapper where to add/register? (If we have an example which contains little enough code to be called a snippet, it should go here, else maybe a link to real examples)
-Link to Rendering/Properties

I will write something on the data concept according to comment 7 .

Please commit only documentation changes, no code modifications.

A first draft for the data management documentation has been pushed to:
bug-11953-Write-DataManagement-Concept

Any comments?

Now working on application documentation

Pushed bug-11953-Write-Application-Concept

Comments?

Added Page for mitk Image (roughly two A4 Pages) This will now go into correction. Next Tuesday I'll tackle Pipelining.

Sascha looked over my branches and made some changes to the documentation. So they can be merged.

Added a Tutorial on Pipelining and how to work with Filters. Next Wednesday: Microservices!

[c7212b]: Merge branch 'bug-11953-RestructureMITKConceptDocumentation'

Merged commits:

2012-06-13 16:41:41 Alfred Franz [ce8527]
fixed link


2012-06-13 16:31:03 Keno Maerz [a5e4de]
Made text in images in pipelining page more accurate


2012-06-13 16:28:15 Alfred Franz [5518ce]
a few minor changes to rendering test documentation page


2012-06-13 16:21:15 Caspar Goch [4615f5]
Fixed Typos, uniquified tags and added note


2012-06-13 16:13:54 Alfred Franz [f02912]
added some links to the modularization page


2012-06-13 15:57:14 Caspar Goch [0cf538]
Some typos


2012-06-13 15:47:25 Alfred Franz [d1d4c1]
small changes in the pipeling page


2012-06-13 15:48:09 Caspar Goch [52ebd6]
Uniquified tags and a couple minor changes


2012-06-13 15:31:15 Caspar Goch [97833e]
Corrected Typos, removed run time reference

Currently the StateMachine.xml is compiled into an application and no longer loaded at runtime. So documentation stating the opposite has been removed.


2012-06-06 16:55:33 Keno Maerz [56ff16]
Adjusted background colour on pipelining example images


2012-06-06 16:53:13 Caspar Goch [5e1c68]
Changed some text

Removed a lot of outdated text and mention of changes, as the change in itself is not interesting, but only the new situation. Furthermore some layout changes.

NOTE: Both diagrams need someone to update them and remove some errors

2012-06-06 16:36:27 Caspar Goch [cf86e2]
Rearranged and added a couple of links


2012-06-06 16:01:31 Caspar Goch [9b4752]
Some typos, clearer snippet


2012-06-06 15:40:34 Caspar Goch [2867e4]
One typo and more comments to code


2012-06-06 15:13:04 Caspar Goch [9ee973]
Slight changes to the mitk Image documentation for concepts


2012-06-06 14:50:45 Caspar Goch [8669b5]
Small change of Self to Class


2012-06-06 14:47:05 Caspar Goch [eb6341]
Typos


2012-06-06 14:35:18 Caspar Goch [976a52]
Some rearrangement of files


2012-06-06 14:10:34 Caspar Goch [b01d52]
Second draft of Overview


2012-06-06 13:42:34 Caspar Goch [fd6310]
Added subpage properly


2012-06-01 16:34:24 Sascha Zelzer [bd31f5]
Small corrections to the text.


2012-06-01 16:22:08 Sascha Zelzer [36689d]
Modified modularization descriptions.


2012-05-30 16:54:47 Caspar Goch [59d779]
Added link in concept page


2012-05-30 16:43:40 Caspar Goch [fe7b49]
Removed old application documentation


2012-05-30 16:40:53 Caspar Goch [966fa7]
Add documentation about plugins, modules and applications


2012-05-30 14:58:16 Caspar Goch [c3d910]
Added link to concept page


2012-05-30 14:55:19 Caspar Goch [47d503]
Removed deprecated data management documentation


2012-05-30 14:51:20 Caspar Goch [1f1452]
Added DataManagement Concept page


2012-06-06 16:24:23 Keno Maerz [72b2be]
Added Pipelining Tutorial.


2012-05-30 17:46:33 Thomas Kilgus [a62925]
Updated Rendering Concept to use new GetRenderWindowPart().


2012-05-30 17:06:46 Alfred Franz [08dcbc]
DOC: integrated MITK Image page


2012-05-30 17:02:49 Alfred Franz [63fc3d]
DOC: wrote macro documentation


2012-05-30 16:35:58 Alfred Franz [248e8b]
added pages "CodingGeneral", "CodingStyle" and "MITKMacros"


2012-05-30 16:54:15 Keno Maerz [186f11]
Added MitkImage.dox plus images


2012-05-30 15:39:35 Alfred Franz [7db9f4]
DOC: updated overview/introduction page


2012-05-30 14:43:20 Alfred Franz [b4089b]
DOC: finished the general testing page


2012-05-25 16:39:34 Alfred Franz [8f4605]
DOC: started to write a documentation page about general testing in MITK


2012-05-25 14:19:45 Alfred Franz [24c161]
DOC: Adapted concepts page to new structure / chapter titles