diff --git a/Documentation/Doxygen/Modules.dox b/Documentation/Doxygen/Modules.dox index 4776c93d90..c25155d7e2 100644 --- a/Documentation/Doxygen/Modules.dox +++ b/Documentation/Doxygen/Modules.dox @@ -1,115 +1,128 @@ /** \defgroup Data Data Classes \ingroup DataManagement \brief This subcategory includes the data classes, e.g., for images (mitk::Image), surfaces (mitk::Surface), vessel-trees (mitk::VesselTreeData), etc. Data access classes are only included, if there is no equivalent in itk (see \ref ProcessAndAdaptorClasses "Process and Adaptor Classes" below). */ /** \defgroup IO IO Classes \ingroup DataManagement \brief This subcategory includes the IO classes to read or write data objects. */ /** \defgroup DataStorage Data Storage Classes \ingroup DataManagement \brief This subcategory includes the classes to store and retrieve objects from the mitk::DataStorage */ /** \defgroup ProcessAdaptor Process and Adaptor Classes \anchor ProcessAndAdaptorClasses \brief This category includes process (algorithm) classes developed specifically for mitk and (mainly) adaptor classes for the integration of algorithms from other toolkits (currently vtk, itk). The itk adaptor classes are also useful for data access to mitk data objects. */ /** \defgroup Process Process Classes \ingroup ProcessAdaptor \brief This subcategory includes process (algorithm) classes developed specifically for mitk. */ /** \defgroup InteractionUndo Interaction and Undo Classes \brief This category includes classes that support the developer to create software that allows the user to interact with the data. This includes complex interactions that have multiple states (e.g., moving a handle of an active contour vs changing its local elasicity) and a concept to realize an undo/redo-mechanism. A detailed description of the rationale for these classes can be found in \ref InteractionPage. */ /** \defgroup Interaction Interaction Classes \ingroup InteractionUndo \brief This subcategory includes interaction classes (subclasses of mitk::StateMachine) that change the data according to the input of the user. For undo-support, the change is done by sending an OperationEvent to the respective data object, which changes itself accordingly. A detailed description of the rationale for these classes can be found in \ref InteractionPage. */ /** \defgroup Undo Undo Classes \ingroup InteractionUndo \brief This subcategory includes the undo/redo-specific classes. For undo-support, the change is done by sending an OperationEvent to the respective data object, which changes itself accordingly. A detailed description of the rationale for these classes can be found in \ref InteractionPage. */ /** \defgroup ToolManagerEtAl Classes related to the Segmentation bundle \brief A couple of classes related to the Segmentation bundle. See also \ref QmitkSegmentationTechnicalPage */ /** \defgroup Registration Registration \brief A couple of classes related to registration. */ /** \defgroup RigidRegistration Classes related to rigid registration \ingroup Registration \brief A couple of classes related to rigid registration. */ /** \defgroup PointBasedRegistration Classes related to point based registration \ingroup Registration \brief A couple of classes related to point based registration. */ /** \defgroup MITKPlugins MITK Plugins \brief This group includes all MITK Plugins */ + +/** + \page MITKProperties MITK Properties + + Very general information on MITK properties and an overview of some which are not specific to a certain module can be found in \ref PropertiesPage . + + For more specific information on a properties introduced by a certain module consults the appropriate module page. + + See also: + + \subpage PropertiesPage + +*/ diff --git a/Documentation/Doxygen/Properties.dox b/Documentation/Doxygen/Properties.dox new file mode 100644 index 0000000000..aab971ad75 --- /dev/null +++ b/Documentation/Doxygen/Properties.dox @@ -0,0 +1,102 @@ +/** +\page PropertiesPage The MITK Property Concept + +\section PropertyConcept The Concept Behind MITK Properties + +TODO: +What information to they contain? +Why use them? +How to use them? +What should not be stored in there? +Where can they be accessed? + +\section ListOfIndependentProperty A List Of Module Independent Properties + +TODO: +\subsection FileManagement File Management + path - The physical path the file was loaded from + name - The node name in the datamanager + selected - Whether the node is selected in the datamanager + +\subsection GenericRenderingProperty Generic Rendering Properties +color - color the surface, grey value image, whatever should be rendered in +(usually white) +in plane resample extent by geometry - Toggles: + Resampling grid corresponds to the current world geometry. This + means that the spacing of the output 2D image depends on the + currently selected world geometry, and *not* on the image itself. + + Resampling grid corresponds to the input geometry. This means that + the spacing of the output 2D image is directly derived from the + associated input image, regardless of the currently selected world + geometry. +layer - controls what image is considered "on top" of another in case two +should inhabit the same space, higher layer occludes lower layer +levelwindow - contains the level window of the image +LookupTable - contains lookuptable for use in coloring image +opacity - alpha value of the node/image/surface +reslice interpolation - Select interpolation mode (Nearest, Linear, Cubic) +texture interpolation - toggle interpolation +TransferFunction - contains transfer function for use in coloring image +use color - Toggle whether LUT is used (off) or not (on) - Should be redone and +renamed, this is counterintuitive +visible - toggle node/image/surface being rendered at all + +\subsection SurfaceRenderingProperties Surface Rendering Properties +..Surfacerendering: +back color - in 2D, color of the normals outside the surface +back normal lenth (px) - in 2D, length of the normals in pixels - Missing "g"? +(When decreasing it the color using the front color is shorter?) +draw normals 2d - Boolean: in 2D, toggles the presence of normals +front color - in 2D, color of the normals inside the surface +front normal lenth (px) - in 2D, length of the normals in pixels - Missing "g"? +(When decreasing it the color using the back color is shorter?) +invert normals - in 2D, switch front/back normals +line width - in 2D, controls the thickness of the line where the surface +intersects the plane (and normals) +material.ambientCoefficient - in 3D ambient lighting +material.diffuseCoefficient - in 3D scattering of light +material.interpolation - Choose which interpolation algorithm to use for +surface construction +material.representation - Choose the representation to draw the mesh in +(Surface, Wireframe, Point Cloud) +material.specularCoefficient - in-/decrease non-scattered reflection +material.specularPower - control percentage of non-scattered reflection - ??? +difference to specularCoefficient? +material.wireframeLineWidth - width of the wires if wireframe representation is +selected +shader - which shader to use for surface rendering, currently the options are +"fixed" and "mitkShaderLightning" + +\subsection VolumeRenderingProperties Volume Rendering Properties +volumerendering - Boolean: Should the volume be rendered or not +volumerendering configuration - Choice between Composite und MIP - ??? +volumerendering.cpu.ambient - ambient lighting +volumerendering.cpu.diffuse - in-/decrease light dispersion +volumerendering.cpu.specular - in-/decrease non-scattered reflection +volumerendering.cpu.specular.power - control percentage of non-scattered +reflection - ??? difference to just specular? +volumerendering.gpu.ambient - same as cpu with gpu +volumerendering.gpu.diffuse - same as cpu with gpu +volumerendering.gpu.reducesliceartifacts - presumably what the name suggests - +??? +volumerendering.gpu.specular - same as cpu with gpu +volumerendering.gpu.specular.power - same as cpu with gpu +volumerendering.gpu.usetexturecompression - presumably what the name suggests - +??? +volumerendering.ray.ambient - same as cpu with ray +volumerendering.ray.diffuse - same as cpu with ray +volumerendering.ray.specular - same as cpu with ray +volumerendering.ray.specular.power - same as cpu with ray +volumerendering.usegpu - Boolean: Whether to use the GPU for rendering or not +volumerendering.uselod - Boolean: Whether to use the Level Of Detail mechanism +or not +volumerendering.usemip - Boolean: Whether to utilize maximum intensity +projection +volumerendering.useray - Boolean: Whether to use raycasting or not + +Additional comment: +uselod can be active with usegpu, usemip, useray, but any of the latter can not +be used with another one of them. + +*/