AIMSdata ChangeLog
Version 3.1.2
Version 3.1.1
Version 3.1
Version 3.0.2
Version 3.0.1
Version 3.0
Version 2.13
Version 2.12
Version 2.11
Version 2.10
August 18, 2008, Version 3.1.2
nothing yet.
August 8, 2008, Version 3.1.1
Bug fixes:
A serious bug fix in NIFTI writer: Nifti transformations were sometimes wong in the .nii file, event when they were OK in the .minf file.
fixed a recent bug in the volume type converters when using rescaling which could show side effects in various commands
Fixes and improvements in graphs reading when containing data stored as labels volumes. Changed the way anatomist handles them to a much cleaner behaviour.
many other less important fixes
Minor improvements:
some minor (not user-visible) improvements and additions to the libraries
January 4, 2008, Version 3.1
SPM images IO: ***CAUTION***,
behaviour change: Read this document
for details. The default settings for AIMS is now to behave like SPM2, not like SPM99 anymore.
NIFTI-1 volume format support, by Guillaume Flandin, using niftilib
PLY mesh format support, using the Rply library
Improvements in the Qt4 compatibility
complete reimplementation of the mesh cutting algorithm (used in anatomist). It doesn't crash anymore, but leaves holes or incorrect things on meshes with overlapping triangles
complements and improvements in the IO system and its suppport for various object types
headers were added to data objects which did not have one (Motion, buckets, Hierarchy, Object, ...)
The Quaternion class has been moved from anatomist to aimsdata. Bridges between Quaternions and Motions.
python bindings for a large part of aimsdata API (all data types and IO): see the pyaims project
... far too many changes to possibly list them...
and many many bugfixes
April 27, 2006, Version 3.0.2
Bug fixes:
Image formats handled via the Qt plugin (png, bmp...) had several bugs that
caused image corruption when saving/reading them. It has been fixed, and support
for int types wider than 8bit has been unregistered (it can't work actually).
Some 3D MINC images got an incorrect value (NaN or infinity) for 4th dimension in Aims
A huge memory leak has been fixed in AimsSubVolume in multiple output files
mode, and some optimizations were done in this case.
The sourcecode now compiles with gcc 4.1
Many other minor bugs were fixed
September 22, 2005 - Version 3.0.1
Bug fixes:
important bugfix in interpolation code which may affect, especially, all
diffusion tracking algorithms
a few compilation warnings and configuration fixes / cleanups
AimsSubVolume supports a wider range of data types
The gui part is now compatible with Qt 4 - more compatibility headers
Fixed IO type Texture of Point2df which did not appear amongst supported IO types
Fixes in management of Aims objects contained in graphs
Fixed SPM writin of float/double images which were sometimes written
in (short + scale factor) mode when they should not
May 18, 2005 - Version 3.0
User-level changes:
Volumes IO: better support for large files. Memory mapping has been automatically
enabled on GIS and SPM volumes when image sizes become large compared to the free
memory size (linux only right now) or to absolute amounts. This is especially useful
when loading large data in Anatomist or for data conversions. Note that not all
volume formats can benefit the same optimization: depending on the disk and memory
format of low-level data, the whole file must be copied to a temporary file in
some situations (always needed for SPM volumes). Prefer GIS format when possible...
SPM volumes of FLOAT data can now be saved as short int + scale factor when it
appears to be possible without precision loss. The drawback right now is that
detecting the possibility of doing it takes some time and it's slower.
Minc format IO support: thanks to Olivier Coliot who wrote the reader/writer classes, there is
now a Minc plugin in Aims. At the moment only 3D files are supported (not 4D) and the datatype
detection may be improved in the future, but the base is here now. The plugin needs the Minc
library.
The Ecat format IO has been ported to Windows
Graphs incompletely loaded (without buckets or meshes, like in the recognition program) and
saved back to disk now load their sub-objects before they are saved, so nothing is lost anymore.
The drawback is that saving them is much longer and consumes far more RAM.
Porting to 64 bit systems: done by Dimitri
Version numbering: all our projects will have the same version number: 3.0 for
this release
Programmer-level changes:
Allocators have changed a bit, and their choice has been facilitated by a
helper / factory class.
Porting to 64 bit systems. This port implies some modifications on some programming rules: we
sould avoid using the long type anymore, but always fixed size types:
int32_t, int8_t etc, so AimsData<long> should be replaced
with AimsData<int32_t> in all Aims code.
In cartobase, the generic object API has been rewritten in a cleaner way GenObject
becomes GenericObject. A compatibility interface is provided so code will not break,
but we plan to remove it once we have cleaned all code (maybe in the next version).
Preparations for deep changes in Aims API: some main classes will be re-written in a new
library: cartodata. The first is the 4D volume class (aims::AimsData) which will
become carto::Volume, a newer, cleaner and more powerful implementation.
In this release, AimsData is only a wrapper for Volume.
Compatibility will be preserved. Moreover the wrapping can be disabled by a #define (the
older implementation is still present in the source code).
A Python interface project for Aims has been started: pyaims, at the moment it allows
manipulating volumes (including IO), either under AimsData or Volume shape.
Meshes will be added soon.
Porting to gcc 4.0 compiler
17/11/2004 - Bugfix update 2.13(c)
fixes in SPM IO
little doc on coordinates systems of AIMS and SPM:
here
fixes on the Windows port, especially the graph writer which could write the .data directory
in the wrong location (in the current directory). This bug affected saving ROI sessions from
Anatomist, for instance.
various other minor fixes
06/07/2004 - Bugfix update 2.13(b)
bucket writer wrote wrong voxel sizes
fix in list repesentations of attributed objects browser, this showed up in Anatomist
vida reader crashed on large files (with more than ~250 slices)
18/02/2004 - Version 2.13
User-level changes:
Porting to Windows: the sources can now be compiled on Windows platforms
using either cygwin or MinGW gcc compilers and environments. I guess there will
still be some little glitches but lots of commands now work well on Windows.
Note: Vida and Ecat IO modules don't compile under MinGW because they
use a missing rpc/hdr library.
SPM images IO: ***CAUTION***,
behaviour change: Read this document
for details. There have been a number of fixes, improvements and changes.
Fixes in Dicom reader allowing to still read images with partially incoherent
headers
Beginning of a TIFF format reader (by Vincent Frouin), but it is not finished
yet and apparently only partially working.
Rework of environment variables handling: to access data, several environment
variables were needed: SHFJ_SHARED_PATH, AIMS_PATH,
ANATOMIST_PATH, SIGRAPH_PATH etc.
Now a more standard shared data structure can be adopted and only one environment
variable is needed (SHFJ_SHARED_PATH). The older way (with several variables)
is still supported. Shared data can be organized in $SHFJ_SHARED_PATH/shfj,
$SHFJ_SHARED_PATH/aims, $SHFJ_SHARED_PATH/anatomist,
$SHFJ_SHARED_PATH/sigraph etc. If SHFJ_SHARED_PATH is set to
/usr/local/share or /usr/share, you just get a completely
standard organization.
Settings files for AIMS, currently used to specify SPM IO conventions. There is
one site-wide settings files (in the shared directory of Aims) and one personal
$HOME/.aimsrc file. See this page for further
explanations.
Many other things... I can't remember
Programmer-level changes:
Utility classes & functions for portably handling files, directories and
filenames (made for windows porting...) [in cartobase library]
Threads: the threading package has moved from aimsalgo library (closed-source)
to cartobase library (GPL). It implements a portable C++ interface to threads, and
will be used in Anatomist now.
Many other things... I can't remember
27/03/2003 - Version 2.12
User-level changes:
More explanatory IO error messages
AimsFileConvert can handle RGB/RGBA images
Many many other things I don't remember...
Programmer-level changes:
libshfj has been renamed libcartobase (beginning of
Cartograph project)
Some classes have moved from aims and graph libraries to cartobase,
especially low-level general utility classes. More of them should move in
the future. For now: stream classes, exceptions, GenObject
and associated classes (formerly named DataExchanger),
AttributedObject and IO (including syntax), Python-like IO for
Object, string conversion templates, DataTypeCode
template, basic typedefs...
Some classes still in aims have moved to the new namespace
carto, like OptionParser and related classes
Classes renamings (in cartobase):
- DataExchanger renamed GenObject
- RcExchanger renamed Object
- DataExchangerValue renamed TypedObject
- SyntaxedExchanger renamed SyntaxedObject
- ...
Externalization (as plugins) of IO formats that use external libraries
(I mean external to aims, even for libraries made in SHFJ): Vida, Ecat,
Jpeg, Dicom
Many many other things I don't remember...
31/10/2002 - Version 2.11
User-level changes:
Nothing has been recorded...
Programmer-level changes:
nothing has been recorded...
09/07/2002 - Version 2.10
User-level changes:
beginning of ChangeLog: nothing yet
Programmer-level changes:
nothing yet