VTK:Improvement
Documentation Improvement
(If you agree with the following, vote for the improvements!!)
In my experience, the single most important factor that influences a users attitude about a software package is its ease of use. VTK provides a phenomenal collection of tools for scientific data processing and visualization. However, if a user has difficulty accessing these tools, their experience with, and therefore opinion of, the software will be less than satisfactory. Documentation is the key element which controls this difficulty level. I propose some improvements to the documentation system here.
Here are some "easy" documentation fixes:
vtkMath
- Pi, DoubleTwoPi, DoublePi all just say "useful constants. Maybe they could say something like "2 * 3.14159..." or 2 *\pi or something like that?
- DegreesFromRadians says "Useful constants". This is incorrect. It should explain the conversion along with specify if there are/aren't bound on the input.
- DoubleDegreesToRadians says "useful constants". This is incorrect.
- DoubleRadiansToDegrees says "useful constants". This is incorrect.
- Round(double) says "useful constants". This is incorrect.
- Floor() has no documentation at all.
- Outer(double, double, double) says "useful constants". This is incorrect.
- Norm(double, int) says "useful constants". This is incorrect.
- Perpendiculars(double, double, double, double) says "useful constants". This is incorrect. x,y,z, and theta must be explained.
- Outer2D says "useful constants". This is incorrect.
- Determinant2x2(double, double) says "Useful constants". This is incorrect.
- LUFactor3x3(double, int) says "useful constants". This is incorrect.
- LUSolve3x3(double, int,double) says "useful constants". This is incorrect.
- LinearSolve3x3(double,double,double) says "useful constants". This is incorrect.
The list goes on....
vtkKdTree
- TimingOff() says "turn ON timing"
- SetTiming(int) says "turn on timing". It should say "turn on timing and set the interval (of what?) to the input X (the input variable is not named - also a problem).
- GetTiming says "turn on timing". This is incorrect.
- GetMinCells() says "turn on timing". This is incorrect.
- SetNumberOfRegionsOrLess has no documentation.
- SetNumberOfRegionsOrMore has no documentation.
- SetFudgeFactor has no documentation.
- RemoveDataSet says "Turn on timing". This is incorrect.
- PrintVerboseTree says "Turn on timing"
- All CreateCellLists functions have no documentation.
- GetIncludeRegionBoundaryCells/On/Off say "turn on timing". This is incorrect.
- GetCellLists functions say "turn on timing". This is incorrect.
- GetRegionContainingCell says "turn on timing". This is incorrect.
- BuildLocatorFromPoints(vtkPoints) says "turn on timing". This is incorrect.
The list goes on...
vtkLandmarkTransform
- SetTargetLandmarks/SetSourceLandmarks - both of these have the same description. One should talk about the target only and the other should talk about the source only.
- GetSource/TargetLandmarks - same description as the Set* methods. This is incorrect.
- SetModeToRigidBody has the same desciption as SetSourceLandmarks. This is incorrect.
- SetModeTo* has the same description as SetSourceLandmarks. This is incorrect.
- GetMTime - says "Get the MTime". What is MTime? Modification time? Maybe "Get the time at which the object was last modified."
vtkDecimatePro
Add this:
The SetTargetReduction function specifies how many triangles should reduced by specifying the percentage ([0,1]) of triangles to be removed. For example, if the mesh contains 100 triangles and SetTargetReduction(.90) is called, after the decimation there will be approximately 10 triangles - a 90% reduction.
Documentation To-do List
These are things that we should add to the documentation to make it clear to new users what is going on.
- vtkCutter - Need to add an image of a mesh and what happens when a vtkCutter is used to cut the mesh.
- vtkProbeFilter - What is an example of what this can actually be used to do? Provide an image?