CIBC:Documentation:SCIRun:DevTasks
Jump to navigation
Jump to search
Contents
- 1 SCIRun Developer TODO list
- 1.1 SCIRun Externals (dependencies built and packaged with SCIRun)
- 1.2 SCIRun Core
- 1.3 SCIRun Modules
- 1.4 Forward/Inverse toolkit
- 1.5 SCIRun Networks
- 1.6 BioPSE Package
- 1.7 Teem Package and Nrrd Support
- 1.8 Testing
- 1.9 Collaborator code
- 1.10 Documentation
- 1.11 Modules With Duplicated Or Partially Duplicated Functionality
- 1.12 Modules To Deprecate?
- 1.13 Modules To Rename
SCIRun Developer TODO list
Developer's manual (needs work): information about building releases, unit testing etc. can be found there.
The SCIRun issue tracker is on the gforge site .
SCIRun Externals (dependencies built and packaged with SCIRun)
Update tetgen repository - currently testing.- donePNG repository - needs to be reverted to expected version (1.2.35) from version 1.0.12.- done- Update boost repository to 1.50? 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.- phasing out Netlib, replaced in SCIRun 5 with Eigen
SCIRun Core
- replace hash_map and hash_set with unordered counterparts
Algorithms
- find and review code where DenseMatrix::solve is used and make sure return values are checked
Util
Clean up Environment.ccStill 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
- could the Gaussian class (Core/Math/Gaussian.*) be replaced by Boost normal (Gaussian) distribution?
- Split into Core_LinearAlgebra, Core_MathWrappers
Flagged for review/deprecation/removal
- fft.c
- PiecewiseInterp
- MusilRNG
- MiscMath.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).
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 migrationnotset.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
- Rename "EditPath" to "EditCameraPath"
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
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
- Here is a list of solvers and wrapped LAPACK functions: LinearAlgebraInSCIRun
- make sure list of modules and categories is up-to-date and add links to newly documented modules (Dan)
SCIRun 3.x user guide wiki pages need to be migrated to PDF docs.
Modules Without Documentation
SetFieldDataToConstantValue- AylaGeneratePolarProjectionForFieldArray- Already deprecated (i think) JDT - deprecated in SCIRun 4.7 (svn trunk)GeneratePolarProjectionOnImageForFieldArray- Already deprecated (i think) JDT - deprecated in SCIRun 4.7 (svn trunk)- BuildFEGridMapping - Jess
- BuildFEGridMappingByDomain - Jess
ReadFieldArray- JDT 6/12/13
Modules With Incomplete Or Out-of-date Documentation
- BuildSurfaceLaplacianMatrix
- MergeFields - missing detailed description
- InterfaceWithMatlab - missing module references - Ayla
- CoregisterPointClouds
- ApplyFEMElectrodeSource - missing module reference - Moritz
- ApplyFEMVoltageSource - missing module reference - Moritz
- CreateAnisoSphereParameters - missing module reference, bad wiki tags, missing file reference
SwapNodeLocationsWithMatrixEntries - missing module reference-- Jess 6/12/13- ClipVolumeByIsovalueWithRefinement - missing module references
- CreateGeometricTransform - module ports do not match description -- Brett
- OptimizeDipole - has a bug? Sample network hangs... (bug report #878)
BuildElemLeadField-- Jess 6/12/13- ViewSlices-- Jess - broken SCIRun 4 port (bug report #886)
Modules With Duplicated Or Partially Duplicated Functionality
- 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.
- SwapNodeLocationsForMatrixEntries and SetFieldNodes seems to have the same functionality.
- SwapFieldDataForMatrixEntries and SetFieldData seems to have the same functionality.
Modules To Deprecate?
- CreateTrigCurrentPattern? - Moritz - creates a cosine for injection electrodes in EIT (uses CreateElectrodeParameterMatrices, Lorena Kreda)
- CreateElectrodeParameterMatrices? - Moritz, Dan - sets up electrode configuration (used for CreateTrigCurrentPattern, Lorena Kreda) - functionality replaced by AddKnownsToLinearSystem?
- ShowAndEditCameraWidget - replace or deprecate
ConvertCurveArrayToSurface- Functionality removed - deprecated in SCIRun 4.7 (svn trunk)
Modules To Rename
- ConvertLatVolDataFromElemToNode and ConvertLatVolDataFromNodeToElem apparently work on LatVolField, StructHexVolField, ImageField, and StuctQuadSurfField, so a better name should be chosen