Vivien Delmon [Tue, 3 May 2011 14:49:15 +0000 (16:49 +0200)]
Add error message to prevent bad use of vvImageReader
* vvImageReader had the same behaviour when used with MERGEDWITHTIME and
with IMAGEWITHTIME in case of multiple images to load. The second is
less effective since it composes multiple images to decompose them
after. I added an error message asking to use MERGEDWITHTIME in this
case.
Vivien Delmon [Tue, 3 May 2011 14:44:00 +0000 (16:44 +0200)]
Prevent vv from instantiated 4D vvImage.
* itk4 introduced some concept checking on image dimensions leading to
compilation error on code instantiated but never used. Adding 4D
specialized version of vvFromITK avoid these instantiations.
- indeed a z-buffer issue (order of painting)
- actors' positions were being chosen wrt to pixel coordinates, instead of world coordinates
- image actors apparently don't can be directly overlaid on top of each other (no positioning issue)
- VF actor is placed right before or after the start of the image actor's bounding box, depending on the position of the camera
- Clipping box of landmarks has also been corrected
- This solution seems to work robustly, but we never know... ;-)
- Will improve VF by using a vtkSlicer object to interpolate between slices
itkv4 migration:
+ itk::BSplineTransform::GetCoefficientImage prototype changed, returning an
array of images instead of a pointer to an image. (c-like table to itk::Array)
Adapt vvSlicer to vvImage without vtkImageReslice. Now reslice according to the image grid in the slice direction. The transform for the vector field has been disabled for the time being.
Romulo:
- Changed CMakeLists.txt for tests
+ $CLITKDIR/tests mirrors $CLITKDIR, but contains only test code
+ CLITK_DATA_PATH must be specified if BUILD_TESTING is on
* test code can directly access the variable (macro)
+ Test executables generated in $CLITKDIR/build/tests/bin
Romulo:
- 1st version of the LineProfile tool
+ clitkLineProfile -i IMAGE --p0 POINT --p1 POINT
+ POINT can, in principle, be in 2D or 3D, but must match the image dimension (needs testing still)
+ output to std out
* [INDEX] VALUE
* index is comma separated list of coordinates
Moved vvImageReader and vvImageWriter to clitkCommon for use in tools. Removed vvConstants.h, the typedef is now in vvImageReader. Made vvImageReader Qt independent since the inheritance of QThread did not seem useful.
Romulo:
- Including automated test procedures in clitk
- Addition of test results
+ These files are updated with the result of all tests when "make test" is executed
Romulo:
- Including automated test procedures in clitk
- Addition of test data
+ build/tests is the default working directory set by CMake when running tests
Romulo:
- Including automated test procedures in clitk
- CMakeLists.txt now includes the "tests" subdir
- tests subdir contains building instructions and source code for all tests
+ subdir structure mirrors that of $CLITK3HOME
+ tests/CMakeLists.txt contains building instructions
- see also build/tests and build/Testing (committed separately)
Romulo
- Solved bug 295
+ Removed the "destroyed" flag
+ List/Tree widget is now cleared in the destructor
+ Destruction order was the cause for the crash
- Made destructors virtual in the base classes
+ It could contribute to memory leaks
+ Other class hierarchies should be checked as well
-Solved bug 295
+ SelectedItemChangedInTree() event was called after the window had been closed and the object instance had been destroyed.
+ Horrible solution: added a static "destroyed" flag to indicate that the object instance has been destroyed.
* Flag will be valid for all active instances, since it's static.
+ In desperate need of a better solution!
* Need to find the correct location to put it, though.
We need to find a better way to fix this.
The problem arises when a target depends on a ggo.h but does not depends on the
ggo.c.
When a target depends on a ggo.c it is explicitly listed in its dependencies
including the custom command that generates it.
When the ggo.h is include in a cxx included in a target CMake has no way to
know it and does not include the custom command that generates it.
In this patch I manually add the dependency between the cxx and the ggo.h.
Romulo:
- Finally solved bug 243 (moving linked images)
+ when propagating, vvMainWindow::UpdateLinkedNavigation was always using slicer[0] as the reference. Now, the reference vvSlicer
is passed as an argument from vvSlicerManager::UpdateLinkedNavigation.
- More corrections wrt bug 283 - cursor rendering... (accidentally removed from the bug tracker)
+ better treatment of cursor rendering when images are linked
+ there are still corrections to be made wrt to the corner annotations.