SCI Home Software Documentation Installation User's Guide Developer's Guide

CIBC:Documentation:SCIRun:DevTasks

From SCIRun Documentation Wiki
Jump to: navigation, search


Contents

SCIRun Developer TODO list

Developer's manual (needs work): information about building releases, unit testing etc. can be found there.

Qt Migration project

The SCIRun issue tracker is on the gforge site .

SCIRun Externals (dependencies built and packaged with SCIRun)

  • Update tetgen repository - currently testing.
  • PNG repository - needs to be reverted to expected version (1.2.35) from version 1.0.12. - done
  • Update boost repository to 1.48? Seg3D2 and BioMesh3D depend on this repository too.
  • Netlib LAPACK 3.4 has overhauled C API. Download, test and decide if current netlib repository (v3.2.1) should up updated.

SCIRun Core

Algorithms

  • find and review code where DenseMatrix::solve is used and make sure return values are checked

FiniteElements

  • FiniteElements/BuildMatrix/BuildFEMatrix.cc has some incomplete code - see TODOs in code

Util

  • Clean up Environment.cc Still needs some refactoring, since we'd like to enable per-session settings (rather than per-user).
  • Use log4j C++ port for more flexible logging?
  • NotFinished.h: delete
  • RWS.h: delete/replace
  • StringUtil: keep for wrappers
  • Timer.h: replace with boost
  • TypeDesc.h: replace with something like Qt's Q_OBJECT type description?

Math

Flagged for review/deprecation/removal

  • fft.c
  • PiecewiseInterp
  • MusilRNG
  • MiscMath.h
  • MinMax.h
  • Mat.c
  • linalg.h
  • Gaussian.h: see above
  • Spline, CatMull

Containers

  • Array1: replace with std equivalent
  • Look to deprecate/replace with boost most of the types here.
  • Would be great to replace LockingHandle with boost::shared_ptr.

Events

  • Rewrite?

Thread

  • Replace with boost::thread.

Exception

  • Consider inheriting/integrating std::exception.
  • Research boost::exception.
  • Assertion mechanism: make more flexible (e.g. runtime configurable).

Geom

  • The name is confusing, since there is also Core_Geometry and Core_GeomInterfaces.
  • Extract library: GeometryDisplayablePrimitives for GeomObj and subtypes.

Datatypes

  • Change return type of dense(), etc. member functions on Matrix to return shared_ptrs (and in the case of returning self, return a shared_ptr with no-op deleter--although consider shared_from_this idiom).
  • Change data store to boost::shared_array

IO

  • document input and output file formats

Init

  • Move to application layer.

General

  • Move namespace SCIRunAlgo into SCIRun::Algo to remove need for using directives in headers. - do during Qt migration
  • notset.h: try to delete
  • Soloader.cc: clean up attempted loading of Release/Debug libraries
  • XmlParser.*: is it used? Still uses xerces, would like to remove.
  • sci_system.h: delete

SystemCall

  • TempFileManager: Replace with boost?
  • SysCallManager: Replace with boost?

Matlab

  • Move out of Core

SCIRun Modules

  • find and review code where DenseMatrix::solve is used and make sure return values are checked
  • review modules to see if any should be deprecated and retired

Forward/Inverse toolkit

SCIRun Networks

Posssibly broken networks

  • Packages/BioPSE/nets/Samples/build-misfit-and-localize.srn - GetColumnOrRowFromMatrix doesn't appear to be incrementing columns and updating

BioPSE Package

  • BuildBEMatrix UI (Ayla)
  • review what to keep (modules and networks) and what to discard (Darrell)

Teem Package and Nrrd Support

  • review and start integration plan for upcoming Teem release (Ayla)

Testing

Samples and Regression Testing

  • simpler tests for modules

Collaborator code

CUDA support (currently on hold)

  • sync Devon Yablonski's branch with trunk (Ayla)
  • integrate GPU module code (Ayla)

Documentation

Modules Without Documentation

Modules With Incomplete Or Out-of-date Documentation

  • ShowMatrix - documentation updated AYK 12/6/11
  • ClipFieldByFunction2 - documentation updated AYK 12/6/11
  • JoinFields - missing module reference - Brett
  • EditMeshBoundingBox - missing module reference DJS 3/7/12
  • TransformMeshWithTransform - missing module reference</strike> - Done DJS 12/18/11
  • ShowTextureVolume -DJS
  • ConvertFieldsToTexture - missing module reference - Ayla
  • MaskLatVolWithTriSurf - DJS 3/7/12
  • ConvertMeshCoordinateSystem - empty - done AYK 12/19/11
  • GetFieldBoundary - missing module reference, does this do data interpolation? No it does not interpolate - Done DJS 12/18/11
  • BuildMappingMatrix - needs rewrite
  • CalculateVectorMagnitudes - Done DJS 12/18/11
  • SelectTimeStepFromNrrd
  • ReadField - no desc. for time series and script tabs - Ayla
  • ShowFieldGlyphs - needs more detail - Ayla
  • RegisterWithCorrespondences - formatting and bit of cleanup - Documentation done DJS 12/18/11
  • AppendMatrix - Ayla
  • GeneratePointSamplesFromField - DJS 2/29/12
  • MergeFields
  • <strike>CreateLatvol - missing module reference - DJS 12/19/11
  • SmoothVecFieldMedian - DJS 12/19/11
  • ShowAndEditCameraWidget
  • SolveInverseProblemWithTikhonovSVD - needs more detail (TODO: Burak) - BE 01/18/2012
  • SolveInverseProblemWithTSVD - needs more detail (TODO: Burak) </strike> - BE 01/18/2012
  • SolveInverseProblemWithTikhonov - missing module reference, updates - Moritz
  • BuildEITMatrix - (TODO: Burak and other EIT modules -- send Dana a list of authors)
  • SetEITGround
  • SimulateEITAnalytically

Modules With Duplicated Or Partially Duplicated Functionality

  • BuildFEMatrix (SCIRun and BioPSE packages) - these are virtually identical
  • partially duplicated functionality: GeneratePointSamplesFromField vs. GeneratePointSamplesFromFieldOrWidget
  • partially duplicated functionality: MapFieldDataFromSourceToDestination vs (MapFieldDataFromElemToNode, MapFieldDataFromNodeToElem, MapFieldDataOntoElems, MapFieldDataOntoNodes)
  • Virtually identical with differing number of inputs: CalculateFieldData CalculateFieldData2, CalculateFieldData3, etc.
  • duplicated functionality: SetFieldDataToConstantValue can be easily performed with SetFieldData or CreateFieldData
  • RemoveZeroRowsAndColumns and RemoveZerosFromMatrix do essentially the same thing, with only a little side functionality. These could be combined into one module with the proper options.

Modules To Deprecate?

Modules To Rename

  • ConvertLatVolDataFromElemToNode and ConvertLatVolDataFromNodeToElem apparently work on LatVolField, StructHexVolField, ImageField, and StuctQuadSurfField, so a better name should be chosen
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox