Anatomist: changelog

Version 5.1.1
Version 5.1.0
Version 5.0.4
Version 5.0.3
Version 5.0.2
Version 5.0.1
Version 5.0.0
Version 4.6.1
Version 4.6.0
Version 4.5.1
Version 4.5.0
Version 4.4.0
Version 4.3.1
Version 4.3.0
Version 4.2.1
Version 4.2.0
Version 4.1.1
Version 4.1.0
Version 4.0.2
Version 4.0.1
Version 4.0.0
Version 3.2.1
Version 3.2
Version 3.1.6
Version 3.1.5
Version 3.1.4
Version 3.1.3
Version 3.1.2
Version 3.1.1
Version 3.1.0
Version 3.0.3
Version 3.0.2
Version 3.0.1
Version 3.0.0
Version 1.30
Version 1.29
Version 1.28
Version 1.27
Version 1.26
Version 1.25
Version 1.24
Version 1.23
Version 1.22
Version 1.21
Version 1.20
Version 1.19
Version 1.18
Version 1.17
Version 1.16

2023/03/21 - Version 5.1.1

2023/01/09 - Version 5.1.0

Visible changes (users):
Internal changes (programmers):

2021/12/22 - Version 5.0.4

2021/10/13 - Version 5.0.3

2021/06/17 - Version 5.0.2

Visible changes (users):

2021/03/05 - Version 5.0.1

Visible changes (users):

2021/01/20 - Version 5.0.0

Visible changes (users):

2018/09/24 - Version 4.6.1

Visible changes (users):

2017/11/30 - Version 4.6.0

Visible changes (users):
Internal changes (programmers):

2017/05/17 - Version 4.5.1 - never released...

Visible changes (users):
Internal changes (programmers):

2016/02/17 - Version 4.5.0

Visible changes (users):
Internal changes (programmers):

2013/04/07 - Version 4.4.0

Visible changes (users):
Internal changes (programmers):

2013/04/07 - Version 4.3.1

Bugfix release:

2012/09/06 - Version 4.3.0

This version also brings a number of bug fixes, and improvements

2012/02/16 - Version 4.2.1

Bug fix update and minor improvements:

2012/02/03 - Version 4.2.0

Visible changes (users):
Internal changes (programmers):

2011/09/14 - Version 4.1.1

Bug fix update and minor improvements:

2011/05/17 - Version 4.1.0

In this version, an important change for the developers should be noted : the build tool used to compile from the source code has changed. We gave up our home-made tool build-config and replace it with the standard tool CMake, a cross-platform, open-source build system.

This version also brings a number of bug fixes, and improvements:

2010/11/05 - Version 4.0.2

Bug fix update and minor improvements:

  • new option in Anatomist config and preferences panel: clipBrowserValues. This option allows to limit the size of strings displayed in browsers attributes, and avoid crashes due (probably) to too large pixmaps in X servers in some specific cases.
  • Gradient palette available for RGB images.
  • Improvement of tooltips on graphs in "display property" mode
  • Fix rendering problems using ATI cards and drivers on S16 volumes.
  • Fix ROI cursor display
  • 2010/07/29 - Version 4.0.1

    Bug fix update and minor improvements:

  • Graph labels picking/copy/paste from one window to another is now possible.
  • 2010/05/28 - Version 4.0.0

    This version of Anatomist is now built and distributed using Qt4 by default. It may bring some minor graphical interface differences, but everything should work as before in any case.

    The sources are still compatible with Qt3 also, both versions will be maintained for about 6 months until every developper switches to Qt4.

    Improvements:
  • OpenGL-based selection infrastructure. Selection functions for meshes and polygons have been included in Anatomist. In "debugger" mode (userLevel >= 3) this mode replaces the older graph/bucket selection mechanism. When correctly tested, it will fully replace it.
    A little texture drawing code example is now part of the examples.
    The new infrastructure is not optimized at all yet, so, drawing is slow, but we will improve it in time to avoid unnecessary OpenGL renderings.
  • Python bindings and the python API have been slightly improved.
  • New command: ApplyBuiltinReferential
  • The file browser for loading objects now shows all file extensions used by supported objects files. Extensions list is built dynamically from the loaded readers.
  • Clearer tooltips in the referentials window.
  • Bug fixes:
  • Many problems have been fixed when Anatomist is built using Qt4. Some modules had not been ported or tested, and Mac and Windows ports had not been tried. Now things are mostly tested.
  • 2010/01/18 - Version 3.2.1

    Improvements:
  • A new custom application for a simple viewer more suitable for inexperienced users: anasimpleviewer.py, written in python (so, based on the python bindings API). It offers a classical, simple one-window, four-views viewer. It may be used as a code example, and can be useful for end users too.
  • A new histogram plugin using Matplotlib (written in python) is available and may replace the existing one (using Qwt): it is much more flexible (interactive zoom, possibility to save the plot...) and prettier.
  • Graphs now have the classical "apply builtin referential" option, and uses Talairach transformation info contained in the graph.
  • Volume rendering is now using by default a palette derived from the underlying object palette, with transparency added.
  • New plugin: menu option to set a distinct palette on a set of volumes, allowing to quickly display 2D fusions without opening the palette window on each volume and selecting one manually.
  • New command: FusionInfo
  • New option in WindowConfig command: light.
  • New option in RemoveObject command: remove_children.
  • Bug fixes:
    Many minor fixes...
  • The ROI cursor was buggy on Mac and was disabled in 3.2.0. It is now fixed and enabled again. Actually the bug came from int/float conversion at the anatomist Bucket object level.
  • Some objects opacity was not correctly taken into account (textured surfaces, 3D fusions...); this has been fixed.
  • Fixed menu options for various multi-objects (graph objects). This also fixes the fact that right-clicking on a graph node in a browser window didn't provide the "object-specific" menu.
  • Fixed the ROI cursor being drawn at the wrong position when using referentials and transformations
  • Added new windows types in control window menu
  • PaletteViewer doesn't show any palette on objects which don't have one. This prevents a crash, and avoids unneeded work
  • added colormap variants, more suitable to linear fusions (which is the default today)
  • Fixed some (the last?) side effects when the VTK plugin is loaded
  • Fixed referentials problems on clipped objects
  • 2009/09/02 - Version 3.2

    Improvements:
  • VTK plugin by Pierre Fillard, which allows to render VTK objects, and especially enables a mix between Anatomist and MedInria objects.
  • GIFTI format IO support for meshes and textures
  • Bug fixes:
    Volume rendering has been fixed, it did not work on some OpenGL implementations (like on our Mac and our Windows machines).

    2009/03/26 - Version 3.1.6

    Bug fixes:
  • Fixed coronal and sagittal views orientation in direct referentials
  • Fixes in some objects update functions (when depending on other objects changes)
  • reimplemented the "clear unused referentials" feature in a way that does what it should, this time.
  • When saving a graph, correctly set its .data filename
  • Fixed default referential on Fusion3D objects
  • when reloading an object, keep its former referential if the reloaded object has the default one
  • fixed crash when changing the fusion object in Fusion2D parameters window
  • Minor improvements:
  • New ClippedObject, allowing to cut any object by a clipping plane with its own orientation
  • avoid creating spurious unneeded referentials in AssignReferential
  • anatomist python plugin: allow to load a .py script via the open button or LoadObject command (this is a security problem, of course, and should be disabled in some cases, but it's convenient)
  • Internals:
  • Fixes for the Qt4 variant
  • little fixes and additions to python bindings
  • 2009/01/30 - Version 3.1.5

    Bug fixes:
  • Fixes in volume rendering: allow to correctly use it on volumes of float and double values.
  • Fixed a texture values rounding problem.
  • Fixed crashes in histogram window.
  • Fixed an update problem in multi-textures.
  • Minor improvements:
  • New semi-transparent palette for positive/negative activation maps suitable for volume rendering, with gradient information.
  • In palette window, new mode to keep value 0 in the center of the colormap (useful for signed values activation maps).
  • In 3D fusion parameters window, users can now type values for depth and step, with the required precision.
  • ROI module: filter objects that can be used to draw ROIs on: remove graph elements to keep a small and readable list
  • ROI drawing: The 3D brush shape is now displayed in real-time and follows the mouse, so that the user sees which voxels will actually be drawn.
  • ROI drawing: Better feedback when drawinf and erasing: the current pencil strike is correctly displayed over multiple regions (in replace mode), including when erasing (a white transparent region is displayed and shows voxels which will be suppressed). Erase mode is much faster when erasing large regions, because the region itself does not need to updated in real-time any longer.
  • New parameter value in SetMaterial command: polygon_mode = ext_outlined.
  • New selection visualization mode: it is possible to see selected objects with a colored thick outlined border rather than displayed with a different color. This option can be changed in the graph parameters window, and saved in the settings in the 'selectionRenderingMode' property.
  • New options in AddObject command: add_children, add_graph_nodes and add_graph_relations.
  • 2008/11/14 - Version 3.1.4

    Bug fixes:
  • Fixed in the objects the Cut control was acting on.
  • Crash fix when using shift+S, shift+C in Cut control.
  • Cut meshes take theit initial mesh material.
  • Fixed ObjectInfo output when several objects share the same filename.
  • Experimental Folds Split control. Not useful for standard users, put in high userLevel...
  • Fixes in handling of graph relations in borwsers.
  • Fixes in graph recolor and color edition functions.
  • Fixes in Material (color) application on segments meshes.
  • Fixed texture reload bug.
  • Fixed texture values scaling bugs.
  • Keep track of initial data type of textures (internally converted to float), use it when saving a texture back to disk.
  • Fixed palette values error when closing the palette window when several objects are selected.
  • Fixed visually selected palette in palettes edition window
  • Fixed referentials problems in the ROI toolbox
  • Minor improvements:
  • An opacity channel has been added to the background light properties. It has no effect in OpenGL renderings but is used when saving RGBA snapshots.
  • When saving a snapshot, the image file format is taken from the filename rather than from the filter combobox of the file dialog. A general filter for all images formats has been added.
  • New "absoluteMode" parameter in SetObjectPalette command to set absolute object texture values.
  • New "line_width" and "unlit_color" properties in Materials (SetMaterial command). "unlit_color" is only used in outline rendering mode, and only when set to outline mode individually (from its material, not from the window global option), for technical reasons.
    No GUI allows to set them by now, but the SetMaterial command can.
  • New "filename" parameter in CreateGraph command.
  • Improved a little bit activation of windows controls for specific object types when no object is selected.
  • The ROI button has been placed on the top 3D windows toolbar (internally, it's not a fake control any longer): it does not deactivate the current control anymore when clicked.
  • SetMaterial command: allow polygon_mode='outline' as in the doc (in addition to 'outlined' as in the code...)
  • CutControl: allow zoom with the mouse wheel.
  • New option in rerefentials window menu: clear unused referentials.
  • 2008/09/24 - Version 3.1.3

    Bug fixes:
  • Some instabilities in the new gradient palette editor were fixed.
  • Crash fix when saving a custom nomenclature from the ROI module
  • several other tiny things...
  • 2008/09/03 - Version 3.1.2

    Bug fixes:
  • Fix in the dimension of RGBA volume extraction (fusion) which most of the times resulted in incorrect/corrupted data or crashes.
  • Fixes in transformation handling in RGBA volume extraction and volume rendering of 2D fusions
  • Crash fixes in the graph labels edition tools
  • Minor improvements:
  • New anatomist module for palette edition as user-defined gradients. This modules uses a nice widget taken from the Fraqtive project.
  • 2008/08/08 - Version 3.1.1

    Bug fixes:
  • The new volume rendering module had been forgotten in the binary distribution, it is back now. However it has been tested only on Linux.
  • Some cleanups and memory leaks fixes
  • Minor imporvements:
  • changed the way objects in graphs are loaded and stored, which both fixes incorrect loading of some labels volumes in graphs, and allows a cleaner programming manipulation in AIMS and Anatomist
  • more python bindings
  • 2008/01/05 - Version 3.1.0

    "Visible" changes (users):
  • Volume rendering module: volumes can be viewed using volume rendering techniques. To access it, just fusion a volume alone and select a volume rendering object. Rendering is done via OpenGL, so can be mixed with standard surface rendering. It may put a heavy load on 3D graphics cards, so expect it to be slow on older or cheap 3D cards - it is possible to lower the precision in volume rendering objects settings. It also needs support for 3D textures in OpenGL, and not all 3D cards can do it, so it may just not display anything at all. The module is an integration of an engine written by Fabrice Poupon. Lots of improvements should be done later, especially on palettes settings which determine material transparency and are very very important.
  • Major changes in the referentials and transformations system:
    • referentials can have an associated file (.referential, MINF format), bringing some information, especially an unique identifier (UUID) and possibly a name.
    • transformations may have a .minf file specifying UUIDs for source and destination referentials. If referentials are known to Anatomist, they are used automatically, so they can be loaded without specifying source/destination from a user interaction.
    • For this reason user interactions in the referentials window have changed a bit, and tooltips display full information on referentials and transformations. It is possible to draw an Identity transformation between two referentials using <Ctrl>+mouse drag from source to dest refs.
    • The old direct/indirect referential problem has been mainly solved. Anatomist defaults referentials are indirect, but transformations going to a direct referential (like the MNI referential used in SPM) are now OK. Displays and 3D renderings now take this into account. When a direct referential is used on a window for viewing, a distinctive icon is drawn on the referential bar of windows.
    • Anatomist now knows two standard referentials: our AC/PC-Talairach (red) referentlal, and the MNI template referential, allowing to use the MNI/SPM coordinates system on SPM normalized images.
    • As a consequence, SPM images referentials (origin translation, normalized images) may behave a bit differently as before.
  • The former useSpmOrigin user configuration option in $HOME/.anatomist/config/settings.cfg is replaced by the more general setAutomaticReferential. The old option is still supported for compatibility reasons but is obsolete.
  • mesh files .minf header can now contain texture information: texture_filenames is a list of textures to load and apply. Then fusions are automatically created
  • Mesh cutting: the algorithm has been entirely re-written. It is way faster and should never crash anymore, so it doesn't need to enable unstable features to be used. However it suffers the same limitations as before: meshes with overlapping triangles will cause incorrect re-meshing and visual problems, but not more (there is hope to completely fix it in the future but I could not get time to work on it, and this part of the algorithm is especially boring). Moreover it is now posisble to perform several cuts on a mesh: re-cutting a cut mesh will work as expected.
  • Graphs can now be colored according to a numeric property (attribute) of their nodes, a palette is applied to the values.
  • Fusion2D defaults to Linear mode, not Geometric as before
  • Tooltips in 3D views on structured objects (graph elements) are clearer and display much more information
  • Some new little things to improve user interactions: better support for drag and drop (for instance between a file browser and anatomist), easy display options for some objects, and possibility to draw object palette in windows (python modules by Matthieu Perrot), etc.
  • A histogram display window (module by Fabrice Poupon)
  • 3D windows can show position and object values in a status bar. It is hidden by default (because it takes a bit of screen surface) but can be enabled in the window menu.
  • Better handling of graph children objects, especially relations. Children objects can be loaded or not via an option or in user settings. Relations can be displayed in 3D views. Browsers display and behaviour has been imporved when handling relations (in the hidden right panel)
  • Improvements in browser windows for graphs: nodes labels are displayed using nomenclature colors (as for 3D views), editing multiple properties and/or properties on multiple objects is now allowed provided all edited properties have the same time. In short: you can now change the label of several nodes at once.
  • An important optimization bug has been fixed when putting lots of objects (multiple graphs...) in a 3D window: it's not slow anymore
  • ... and many many bug fixes...
  • Internal changes (programmers):
  • Porting to Qt 4. Anatomist 3.1 can compile and run with either Qt 3 or Qt 4 (provided both Qt are not mixed). The Qt4 version has not been really used yet but should be OK.
  • Python bindings have been greatly improved and cleaned. A unified python API now allows to control anatomist either via bindings (direct access to the anatomist library) or via a socket connection. Moreover it is possible to write Anatomist modules in python. See the pyanatomist project.
  • New commands : GraphDisplayProperties, LoadGraphSubObjects, ExternalReference
  • Some new parameters have been added to some existing commands
  • Most Anatomist objects allow much more flexible links to their underlying Aims objects (via reference counters) so it is possible to replace lower-level objects on the fly. It is especially useful in python bindings.
  • Objects and windows are now reference-counted in Anatomist. Deletion may be forced in some cases but not all according to the types of external references to them. This change was needed for proper python bindings and reference counting from python.
  • Change in objects rendering API: old methods AObject::update2D() and AObject::update3D() have been replaced by a single generic render() method.
  • 2006/06/20 - Version 3.0.3

    Bug fixes:
  • Changes in internal routines dealing with commands streams: they were quite unstable, especially on Windows. Well, I think some instability remain on windows, but for other reasons (I suspect the C++ standard libraries of MinGW and Cygwin are not thread-safe at all on Windows).
  • Minor imporvements:
  • added (optional) parameters request_id in commands that ask Anatomist an answer: GetInfo, NewId et ObjectInfo
  • 2006/04/27 - Version 3.0.2

    Bug fixes:
  • There were still some problems in referentials handling, especially when playing with manual transformations controls. A new referential update system has been written.
  • Fix: the Fusion2D objects ordering specified by the user upon creation was not taken into account
  • Fix: linkedcursor_on_slider_change parameter of WindowConfig was not working
  • Fixes in some multithreading race conditions that -curiously- caused crashes only on multi-CPU windows platforms, but might be harmful as well on other systems. Well, there must be some other bugs somewhere because it still happen to crash, but rarely now...
  • Fusion3D texture extrema were incorrect and wrong when textures were exported
  • Fix: slices (Volumes...) texture resolution degradation could go into an infinite loop when no texture could be drawn at all (on failing OpenGL/3D cards)
  • Fix in volume interpolation which was incorrect and discontinuous on some slices
  • A number of other minor fixes
  • Minor imporvements:
  • SliceEvent output have been a little bit enriched
  • New command: NewId to generate free IDs for objects. This command is used especially by BrainVisa to avoid reassigning IDs which could be allocated on Anatomist side.
  • A first version of a french manual has been released. When it's stable enough it will be translated to english.
  • 2005/10/11 - Version 3.0.1

    Bug fixes:
  • Graphs saving: nodes were not always stamped as modified when changes took place in the ROI module. This could cause voxels lists not to be saved
  • Graphs: objects contained in graph relations are no longer loaded (since they were never used), this saves memory and time, but they are loaded when a graph needs to be saved, so that everything is saved
  • Fixes in the "levelsets" (which are not levelsets actualy) of the ROI module, the 2D mode works again now.
  • Fixes / changes in the behaviour of graphs when nodes colors (material) were changed
  • Crash fix when texture generation properties dialogs were opened while objects were not in generated texture mode
  • Palettes are read before user config because they can be used at that step
  • All Anatomist now compiles using Qt 4. However porting is far from over and many widgets don't display propertly yet with Qt 4. It's a first step...
  • Improvements in config and compilation directives
  • Fix in transformation inversion, which didn't produce incorrect results but was not clean, and was possibly the cause of random crashes of Anatomist when changing referentials/transformations
  • Solved a palette scaling/precision problem on textures with a very short range within the [0-1] interval
  • Fixed snapshots: ghost objects (not written in Z buffer) were not visible on saved images, and in some cases the back OpenGL buffer was saved instead of the fron buffer
  • ROI: label naming crash fixed
  • Important bugfix in an internal and central system (observers), it could lead to random crashed, especially when manipulating referentials (but not only). As a counterpart, loading and creating complex objects (graphs) might be even a bit slower...
  • Optimization in the destruction of multiple objects (graphs), the GUI is only refreshed at the end. This seemed to be a bottleneck, at least on some systems (my old Mac...)
  • Fixed a problem which, on Windows, caused the window manager to saturate and made Anatomist crash with strange displays everywhere on the screen when 2 sulcal graphs were loaded. The problem came from a duplication of referential icons (their creation should be faster now in addition)
  • Optimizations in display lists handling (creation/destruction): especially, rendering many small objects that change (sulcal graphs in 2D mode) was really very very slow. Well, it's still slow compared to what it was in anatomist 1.30, but we already improve by a factor 5-10 compared to 3.0.0. Still more to do...
  • Minor imporvements:
  • Palette, material and texturing properties are now saved in .minf headers of objects written by Anatomist (meshes, volumes, textures)
  • Texturing properties specified in .minf are read and used on objects read by Anatomist
  • "Slice" events can be output when the slace plane changes in a view
  • a new SliceParams command allows to set the slice plane on self-sliceable objects
  • The "cut mesh" fusion mode is now available in normal mode (it was only accessible in instable mode), but without the plane part because the instable part is there. In instable mode, everything is accessible, like before.
  • Slight improvements in default settings of segments meshes (no lighting, no face culling)
  • 2005/06/21 - Version 3.0.0

    Why a version 3 whereas there has never been a version 2 ? Well, simply to align the version number of all our software. AIMS was already in version 2.x, so the next "big number" was 3.
    "Visible" changes (users):
  • Slice objects: you can now extract a slice from a volume (or any 2D object like a Fusion 2D) by fusioning it alone, and display several slices with different orientations in the same window. Slices orientations can be changed using a specific control.
  • Textures and transparency rendering has changed a little bit. Now transparent textures are taken into account and can make the object on which they are mapped transparent. This also works for volumes (RGBA images with transparency, or images with transparent palettes).
  • New texture mapping modes and options
  • Multi-texturing is now possible (by fusionning several textures)
  • Views blocks: it is now possible to tie several Anatomist views in the same window. All views are still as independent as they were before. The CreateWindow external command has a new parameter to make this functionality available.
  • Improvements in the user interface
  • The 3D cursor is now a regular Anatomist object and can thus have any shape (selectable and extensible)
  • ROI drawing can now be done using meshes or other 3D objects as a click support
  • Several object parameters windows (material, palette, 2D and 3D fusion parameters) are not hardly bound anymore to the set of objects they were opened on, but now allow to dynamically change objects they apply to. This means users won't be forced anymore to have 25 palette windows simultaneously open when they manipulate multiple objects.
  • 2D Fusions involving more than 2 volumes have been fixed and improved: all needed parameters can now be set.
  • Anatomist can now read and display meshes of segments (filar meshes) and of quads
  • New texture rendering mode, with color interpolation in RGB space (rather than in palette space). It may be more suitable for "label textures" rendering.
  • New configuration option: widowSizeFactor
  • Color material and palette properties can now be saved in objects .minf header file and automatically applied at load time. This is easy and convenient. Palette properties can be stored in the palette attribute of the header as a dictionary (same parameters as the SetObjectPalette processor command) and material properties can be stored in the material attribute (same options as the SetMaterial command).
  • New commandline option: -u <userprofile> allowing to use different configurations in the situation when several users share the same account
  • It is now possible to specify a default referential to objects and/or windows created (or loaded) from the user interface (see in the preferences)
  • A user manual has been started by Isabelle Denghien (in french.......)
  • The "transformation control" has now two additional interactioin modes: rescaling and rotating inside the current slice, which is useful when manually registering fusionned volumes
  • Opening a ROI session can now be performed on a volume (16 bit integer): it will be converted into a ROI graph at load time.
  • The slice movie control has more modes (continuous movie etc), and the speed can be controled.
  • The trackball has a "weightlessness" mode: objects go on rotating when the user releases the mouse.
  • New 2D/3D sliders (slice/time) mode: the linked cursor can follow sliders actions and propagate to other views
  • Various keyboard shortcuts in windows and contols
  • Fullscreen mode in anatomist windows
  • It is now possible to manually enter a position for the linked cursor from a 3D window (to report coordinated from external software, like SPM, for instance)
  • Rendering properties can now been set on an object-by-object basis (in the material properties).
  • Internal changes (programmers):
  • The rendering engine (OpenGL layer) has been entirely rewritten and should be more flexible, easier to use and more powerful, in short: better.
  • Objects API has changed too: all OpenGL rendering functions are now in separate API classes.
  • New command: TexturingParams
  • New command: ExtractTexture
  • New command: GenerateTexture
  • New option in command LoadObject: as_cursor, options
  • 3D Windows with no decorations (menus/buttons) can now be created (via the commands system) to fit into specialized applications
  • New options in command CreateWindow: block, options
  • New options in command WindowConfig: snapshot, linkedcursor_on_slider_change
  • New command: ObjectSlice
  • New options in command GetInfo: name_referentials, name_transformations
  • The ObjectInfo command provides more information on some objects (referentials)
  • New options in command SetMaterial: lighting, smooth_shading, polygon_filtering, depth_buffer, face_culling, polygon_mode
  • In fact there has been lots of changes (internal and visible) in this version...

    2004/11/30 - Version 1.30.3 (bug corrections)

    "Visible" changes (users):
  • Fixed a rendering bug in coronal slices of volumes fusions (fusions 2D) when a transformation was involved
  • Fixed border color in volume slices containng no data at all (outside of the volume)
  • The display of SPM coordinates (in the terminal, for SPM volumes) doesn't claim anymore to be "Talairach coordinates" if the volume is not normalized. Otherwise, the values were correct.
    Internal changes (programmers):
  • None (bugfixes only!)
  • 2004/11/18 - Version 1.30.2 (bug corrections)
    "Visible" changes (users):
  • Fixed wrong byteorder (so wrong colors) in 3D windows snapshots on Windows
  • Fix in palettes path on Windows
  • Fix in rendering of very large images that don't fit into the texture memory of 3D cards and need undersampling
  • Fixed a possible crash in profile window on some images
  • Internal changes (programmers):
  • None (bugfixes only!)
  • 2004/07/07 - Version 1.30b (bug corrections and minor improvements)
    "Visible" changes (users):
  • Fix: GraphParameters command did not work correctly until the graphs parameters window was open.
  • SelectByHierarchy command: modifiers attribute can take a new value: remove, to hide selected nodes
  • Better display of volume values in fusions (linked cursor click)
  • Bug corrections in ROI graphs saving on Windows
  • Enabled two-side lighting on meshes when backface culling is disabled. In other words, open meshes can be visible from both sides.
  • fixed a shift in 2D fusion display in non-interpolated mode, and display of interpolation flag in preferences
  • Bugfix on the approximation of slice positioning, which could be annoying for the manipulation of very thin slices (<0.1mm) like histological slices of mouse brain (this is a random example)
  • Bugfix in the calculation of the cut plane for buckets 2D rendering when coordinates transformations took place
  • ... (I don't remember)
  • Internal changes (programmers):
  • None (bugfixes only!)
  • 2004/02/18 - Version 1.30, initial releasae
    "Visible" changes (users):
  • Porting to Windows !
  • Mionr GUI improvements, like accessing the objects options by a right-click on the control window
  • The ROI module has been split in two: a "basic" one and an algorithm part
  • Improvements in the ROI panel GUI, like the eradication of the silly "refresh" button which I guess everybody wondered why it was here. Updating the interface is automatic now, as it should have been from the beginning.
  • Finally the axial display convention option now has been enabled (after years and years). You can choose radiological or neurological display convention in the preferences
  • Settings for unstable things in the preferences
  • Fusions 3D: new mapping modes (point-to-point with depth offset)
  • SPM volumes: by default, SPM volumes don't have a specific referential anymore. This behaviour disturbed too many people and was annoying in many cases. One can now recreate this referential via an "object-specific" option of volumes. The former behaviour (automatic creation of the referential at load time) can be activated by an option in the preferences.
    Note: the creation of this referential is also a bit more intelligent than it used to be: if an identical referential already exists, it is re-used, not duplicated. This results to having the same referential on all volumes with the same origin.
  • The referential color marker is now somewhere on the left columns in the control window (objects / windows) so it is always visible at the first sight.
  • The controls toolbox (ROI...) can be accessed via a menu in windows (not only the undocumented F1 key) and is automatically displayed when entering the drawing mode
  • Fixed bug (formerly called "feature") that caused cortical folds graphs not to save relation buckets when written by anatomist under a new name. This was due to the fact that relation buckets were not read at all in Anatomist since they are not displayed. Now graphs are complete, but a few MBytes bigger (and a bit slower to read, too)
  • Windows 3D: slice / time change with keys (PgUp/PgDown)
  • Internal changes (programmers):
  • Commands reader (scripts / command pipes / network) can now be compiled to use threads. It avoids blocking the GUI thread while reading commands, and should be less sensitive to OS-dependent behaviour variations (Windows...).
  • 2003/04/01 - Version 1.29

    "Visible" changes (users):
  • The origin of SPM images is now correctly handled (there was still a bug in version 1.28)
  • A first attempt to making "cut meshes": meshes cut by a plane, it's a new fusion mesh + volume. It is still very sensitive to meshes with crossing triangles (often causing crashes) and it appears that most of our meshes contain such crossing triangles. So it has been made an "unstable feature" only enabled if anatomist has been launched in --enabled-unstable mode. Otherwise it would now be possible to display a volume slice limited to its intersection with a mesh (for instance head or brain mesh). But there is still this annoying bug to remove, and it's a bit difficult to fix...
  • Anatomist can now read and display RGB images and volumes, like color Jpeg images
  • Menu to save settings
  • Double-clicking on a window representation (in the control window) makes the window raise to the front
  • New command-line option: --enable-unstable, it is used to enable dangerous and buggy features that are not really finished (sometimes even not operational) that are normally disabled. I didn't make an menu option to enable/disable it at runtime. Maybe I should.
  • Internal changes (programmers):
  • Communications: Anatomist can now run in "server" mode and have a bilateral connection through a TCP network. Remote-control from BrainVisa then has become easier (the whole communication interface has been remade on BrainVisa side by Julien Barbot). Moreover Anatomist can now signel things by sending "events" when its state changes or when the user performs certain actions (like loading an object or clicking on a view).
  • Several new commands and new parameters to existing commands have been added for Brainvisa remote-control (I didn't keep the whole list)
  • Command to export textures (ExportTexture): saves to disk an OpenGL object texture (like a fusion 3D)
  • Still other changes in Aims and library layers below Anatomist
  • WindowConfig command: new parameters: raise and iconify
  • 31/10/02 - Version 1.28

    Sorry, the remainder of the news is in french...
    Changements "visibles" (utilisateurs):
  • ROI: corrections de bugs, et nouvelle interface pour segmenter par LevelSets (Renaud)
  • Les transformations gauches (qui changent le sens du repère) sont correctement prises en compte: elles inversent le sens (intérieur/extérieur) des maillages et la visualisation en tient compte
  • L'origine des images SPM (ou qui ont été en format SPM) est ENFIN prise en compte: une transformation est automatiquement créée entre l'image et le repère central. ATTENTION, effet de bord: les objets segmentés à partir de ces images n'auront pas automatiquement le même repère, il faut le mettre à lma main, ça peut surprendre...
  • Encore un bon nombe d'améliorations des commandes pour le pilotage par BrainVISA
  • Diverses corrections de bugs que je n'ai pas notées à mesure
  • Changements internes (programmeurs):
  • Encore des changements dans Aims
  • Le système de chargement de modules utilise maintenant celui d'Aims (qui est une réécriture plus propre de ce qu'il y avait avant dans la commande en ligne anatomist). En conséquence le format des listes de modules a changé: la liste est dans un fichier (format python-like) au lieu de fichiers
  • 09/07/02 - Version 1.27

    Changements "visibles" (utilisateurs):
  • ROI: interface plus complète (Renaud)
  • Contrôle de transformation: permet de bouger un objet par rapport aux autres
  • ... (je n'ai pas tenu la liste à jour)
  • Changements internes (programmeurs):
  • La plupart des changements internes sur cette version concernent les librairies de plus bas niveau qu'anatomist: aims en particulier, dont tout le système d'entrées-sorties a été refait pour être complètement générique (formats complètement transparents et modulaires, mécanisme pour choisir le type de données).
  • Tous les codes de toutes les librairies ont aussi remises aux normes pour pouvoir éventuellement compiler avec d'autres compilateurs: gcc-2.95, gcc-3.0, gcc-3.1. Pour l'instant l'essai d'autres compilateurs (SGI, sous windows etc) ont toujours été des échecs: tous sont buggés et aucun n'arrive à compiler libshfj et aimsdata.
  • Nouvelles commandes pour l'interaction avec BrainVisa: Camera (réglage du point de vue), SaveTransformation (écrit une transformation, éventuellement après modif par le contrôle correspondant), WindowConfig (fixe les params de géométrie des fenêtres anatomist)
  • Commandes complétées: ObjectInfo donne des indications plus complètes
  • ... (je n'ai pas tenu la liste à jour)
  • 24/10/01 - Version 1.26

    Changements "visibles" (utilisateurs):
  • Drag & drop entre objets et boutons des fenêtres: on peut tirer un objet sur l'icône de la fenêtre de contrôle du type de fenêtre voulu, cela permet d'ouvrir une fenêtre et d'y mettre l'objet d'un seul coup.
  • Affichage des buckets refait, il devrait en principe être beaucoup plus rapide, donc rendre le dessin de ROI plus utilisable
  • ROI: affichages optimisés à différents niveaux, c'est plus rapide. Il reste encore des choses à faire de ce côté-la.
  • Comportement des affichages des fenêtres 3D modifié: l'affichage n'est plus différé quand de multiples affichages sont demandés
  • Mode "film": pour faire défiler les curseurs des coupes des fenêtres 2D/3D automatiquement
  • On peut maintenant fusionner deux textures 1D pour en faire une texture 2D
  • Référentiels & transformations: les transformations se propagent de repère en repère et se mettent à jour. Un repère "central" est utilisé par défaut sur toutes les fenêtres et tous les objets
  • Anatomist lit maintenant les textures d'entiers (16 bits signés et 32 bits non-signés)
  • Corrections de petits et gros bugs: affichage des volumes selon les axes avec changement de repère en particulier
  • Changements internes (programmeurs):
  • Nouvelle commande "ClosePipe" pour fermer la télécommande - par ex. pour que BrainVisa puisse se fermer sans tuer Anatomist
  • Nouvelle commande "SaveObject"
  • Nouvelle commande "CreateGraph" (module roi)
  • Nouvelle commande "AddNode" (module roi)
  • Modifs des sources d'Anatomist et toutes les librairies dont il dépend (Aims, graph, ...) pour pouvoir compiler avec d'autres compilateurs que gcc, ça devrait rendre nettement plus simple un éventuel portage à windows
  • Entrées / sorties des graphes entièrement refaites (au niveau Aims principalement), de façon plus générique - c'est encore un tout petit peu instable mais ça devrit être bien mieux à terme: en particulier les graphes contenant n'importe quel objet Aims pourront être chargés dans Aims, anatomist, SiGraph, Voi, etc. de la même manière.
  • Nouvelle commande "PopupPalette"
  • Nouvelle commande "GetInfo" - donne des informations sur ce qui est dans l'application (objets, fenêtres, référentiels, ...)
  • Nouvelle commande "ObjectInfo" - donne des informations plus précises sur certains éléments donnés par leur ID
  • Nouvelle commande "SetControl"
  • 19/06/01 - Version 1.25

    Changements "visibles" (utilisateurs):
  • Commandes du "simulateur de vol" corrigées
  • Le rechargement des objets devrait être mieux fait, ert pas seulement sur les volumes: on devrait pouvoir recharger aussi des maillages, des "buckets", des textures, etc.
  • Correction du bug très gênant qui montrait parfois la mauvaise coupe d'un volume (problème d'arrondi sur le no de coupe)
  • Le module de régions d'intérêt commence à fonctionner (Renaud Maroy): on peut dessiner dans un bucket. C'est primaire pour l'instant, mais ça existe.
  • Nouveau mode pour les fusions 2D: "linear on defined"
  • Changements internes (programmeurs):
  • Pas mal de modifs dans la couche AIMS (entrées - sorties entièrement refaites, librairie coupée en deux, ...)
  • Entrées - sorties: système de chargement / rechargement refait pour utiliser les nouveaux Finder/Reader d'Aims
  • Nouvelle commande DeleteElement, plus générique que DeleteObject ou CloseWindow.
  • Nouvelle commande SelectByHierarchy pour faire des sélections dans les graphes
  • Le tracking des faisceaux de fibres a été sorti de la librairie de base et "modularisé"
  • 09/05/01 - Version 1.24

    Une version qui a mis un peu de temps à sortir (6 mois!), mais avec vraiment beaucoup de choses refaites et des foules de nouvelles possibilités...
    Changements "visibles" (utilisateurs):
  • Corrections de bugs (et ajout de nouveaux...), entre autre j'espère avoir tordu le cou à celui qui faisait parfois planter quand on détruit un objet et qui faisait durer 1/2 heure la destruction d'un gros objet composé (graphe par ex.) - à vérifier... bon en fait c'est pas encore complètement propre...
  • Les scénarios effectuant une fusion nécessitant un choix (plusieurs fusions possibles) ne posent plus la question lorsqu'on les rejoue (attribut "method" de la commande de fusion)
  • L'historique précédent est gardé (backup) dans ~/.anatomist/history.ana~, ce qui permet de rejouer le scénario de l'exécution précédente d'Anatomist sans avoir à le copier préalablement
  • Nouveau look pour les fenêtres 2D et 3D, qui sont maintenant les mêmes, la plupart des fonctions d'avant remarchent, mais avec un comportement éventuellement un peu différent, en 2D il reste encore un peu de boulot (tracking des fibres non refait)... On peut basculer une vue d'un mode 2D à l'autre (axial, coronal, sagittal) et au mode 3D comme on veut, et mélanger des objets 2D et 3D.
  • Sauvegardes d'images des vues 2D et 3D en plein de formats possibles
  • Enregistrements de films sur les fenêtres 2D et 3D mieux gérés (sauvegardes lorsque l'image a réellement changé, pas lorsqu'elle est masquée et réaffichée)
  • Landmarks: toutes les actions qui impliquaient un click sur une image pour créer un point de repère (surface matching, landmarks de surfaces ou de graphe) ont changé de comportement: on ne clique plus sur "choisir un point" puis sur l'image, mais au contraire, on fait d'abord jouer le curseur lié, puis on clique sur "choisir un point": le landmark est crée à ce moment-là à la position du curseur lié du groupe de fenêtres non-groupées. C'est un peu imparfait mais ça sera amélioré plus tard
  • Correction du bug qui inversait l'orientation des normales des maillages en format .mesh binaire sur des machines nécessitant un byte-swapping du fichier (conversion intel-sparc par ex.)
  • Des palettes "utilisateur" peuvent être ajoutées, il suffit de les placer (images au format JPEG) dans le répertoire ~/.anatomist/rgb (répertoire à créer préalablement s'il n'existe pas): elles seront chargées au prochain lancement d'Anatomist
  • Option "recharger les palettes" dans le menu "réglages" de la fenêtre de contrôle
  • Drag & Drop: on peut maintenant "tirer" des objets depuis la fenêtre de contrôle, directement vers les fenêtres, ou vers le panneau droit de la fenêtre de contrôle.
  • Pour ceux qui bricolent les graphes (et les hiérarchies de noms), on peut aussi stocker des fichiers de syntaxe perso dans ~/.anatomist/syntax et ~/.anatomist/syntax/internal pour les attributs internes (non exportés dans les entrées-sorties mais utilisés en interne dans Anatomist ou les modules spécifiques) (non testé...)
  • La boîte de sélection de fichiers (pour charger des objets par ex.) peut avoir un certain nombre de répertoires pré-enregistrés pour retrouver du premier coup vos données préférées. Pour le moment l'ajout de directories n'est pas très convivial: il faut éditer le fichier ~/.anatomist/config/settings.cfg et ajouter l'attribut path_list avec comme valeur une liste de repertoires séparés par des ':' (comme les PATH Unix)
  • Option de lancement (sur la ligne de commande) pour ne pas ouvrir la fenêtre de contrôle: option -b ("batch"). Cette option sera utile pour une "visualisation simple", par exemple depuis la plateforme de traitements BrainVisa de Yann Cointepas.
  • Liste des modules chargés visible depuis la fenêtre de contrôle (menu aide/modules)
  • Rechargement de transformations sans avoir besoin de les effacer préalablement
  • Coupes obliques: on peut changer l'orientation du plan de coupe des volumes en utilisant le nouveau contrôle "vues obliques", 2 modes pour cela: soit en bougeant le plan de coupe avec le trackball, soit en bougeant les objets avec le trackball tout en laissant le plan de coupe fixe.
  • Début de module de régions d'intérêt par Renaud - c'est le tout début.
  • Les fichiers "scripts" .ana (ou "scénario") peuvent maintenant être chargés comme les objets, depuis le même menu "ouvrir" et la même boîte de sélection de fichiers, et au démarrage d'anatomist comme arguments sur la ligne de commande, le flag -f n'est plus obligatoire pour les .ana
  • On peut mettre des belles images en fond des listes (fenêtre de contrôle, browsers), si on l'indique dans sa config: éditer le fichier ~/.anatomist/config/settings.cfg et ajouter le champ listview_background en lui donnant le fichier image à utiliser (à un des formats supportés par Qt) - OK c'est juste un gadget, mais moi j'aime bien les gadgets.
  • Doc: j'ai un peu retouché son look (mais pas son contenu........)
  • Possibilité de mettre des plans de clipping dans les nouvelles fenêtres 2D/3D: ça peut être utile par ex. quand on mélange un volume anatomique et des objets 3D segmentés qu'on veut voir coupés
  • Les images SPM qui contiennent des valeurs infinies (NaN) sont filtrées et ne font plus planter Anatomist.
  • Pas mal d'options d'affichage des rendus OpenGL peuvent être choisies dans les fenêtres 2D/3D (panneau "outils" des fenêtres)
  • Changements internes (programmeurs):
  • Nouvelle commande Exit pour fermer un Anatomist télécommandé
  • Nouvelle commande LinkWindows pour grouper des fenêtres
  • Nouvelle commande Select pour la sélection (les sauvegardes / rechargements ne marchent pour l'instant pas pour les sous-objets d'un graphe)
  • Nouvelle commande Fusion2DParams, pour régler les paramètres des fusions 2D.
  • PASSAGE A Qt: plus de Motif ! Les fenêtres (3D, 2D) ont été entièrement refaites, l'appli changée etc etc etc. Anatomist n'est plus linké avec: Motif, Colc++, MPP, GLPP, GLw, QXt
  • les classes liées à Motif ont été enlevées
  • Système de contrôles de Renaud intégré et utilisé dans les nouvelles fenêtres
  • Classes de base intermédiaires pour les fenêtres Qt avec contrôleurs: QAWindow, ControlledWindow (gère la barre de boutons des contrôleurs)
  • Contrôles et actions de base pour fenêtres 3D: curseur lié, sélection, zoom, translation
  • Ajout du namespace anatomist pour diverses classes, presque toutes en fait
  • le package wincontrol a été enlevé (classes AViewControl, APointCollector, APointsCollectorTrigger)
  • Le système d'affichage a été revu, en particlier les fenêtres 2D affichent maintenant comme en 3D en utilisant OpenGL. Il y a encore pas mal de problèmes à régler et de bugs, mais bon... - attention, ça va être plus lent sur une machine sans carte 3D accélérée...
  • etc etc etc... en fait il y a eu beaucoup beaucoup de changements sur cette version...
  • 03/11/00 - Version 1.23

    Changements "visibles" (utilisateurs):
  • Outil pour tracer des plans passant par 3 points: dans le module anasurfmatch. On fait une fusion de 3 landmarks.
  • Surfaces texturées: on ne règle plus la palette depuis l'objet fusion (surface texturée ou interpolée) mais depuis la texture elle-même. Du coup on obtient des valeurs non-normalisées sur les réglages de palette, ce qui permet d'utiliser une échelle quantitative.
  • Fenêtre de news qui apparaît la première fois qu'on lance une nouvelle version d'Anatomist
  • Possibilité d'enlever le gros logo rouge "Anatomist" de la fenêtre de contrôle depuis les réglages de préférences (sauvable dans la config)
  • Cylindres: faits comme les plans, à partir de 2 surfaces landmark
  • Correction du bug qui faisait planter Anatomist à la lecture de fichiers compressés - on peut maintenant lire des .tri.gz ou des .tex.Z, etc.
  • Début de graphes de landmarks: création d'un graphe à partir d'un volume (sur la même géométrie), ajout de noeuds et de buckets en cliquant sur des points.
  • Chargement des graphes de ROI au format VOI, enfin dès que VOI aura un tout petit peu changé son format.....
  • Sauvegarde des graphes avec sous-objets (buckets, maillages) -> sauvegarde de graphes de ROI
  • Début de fenêtre de processing pour la perfusion (pas encore opérationnel), par Fabrice. On y accède depuis les opérations spécifiques sur un volume.
  • Lecture DICOM
  • Changements de repères étendus aux multi-objets: en particulier on peut mettre un repère sur un graphe et lui affecter une transformation
  • La sélection tient aussi compte des changements de repère
  • Changements internes (programmeurs):
  • Petites modifs de l'interface des AObjects (flags hasChanged ajoutés pour la texture et la géométrie), dans ATexSurface et AInterpoler.
  • Boîte de dialogue FusionChooser pour les cas où plusieurs fusions peuvent être faites à partir des mêmes objets
  • No de version d'Anatomist sauvé dans la config
  • Buckets refaits pour la partie 3D, en utilisant l'interface communeAGLObject
  • Modifs et améliorations dans plusieurs objets, les graphes en particulier
  • Nouvelle interface vues / contrôles de Renaud Maroy, à utiliser pour refaire les fenêtres 2D et 3D dans les prochaines versions
  • 03/10/00 - Version 1.22

    Changements "visibles" (utilisateurs):
  • Sauvegarde et rechargement des paramètres et préférences dans $HOME/.anatomist/config/settings.cfg. Pour l'instant cette sauvegarde est partielle, il y a encore beaucoup de choses qui pourrait être sauvé et qui ne n'est pas.
  • Le fichier de commandes "historique" sauvé automatiquement par Anatomist a été déplacé de $HOME/.anatomist-history à $HOME/.anatomist/history.ana, comme ça tous les fichiers de configuration locale, lus ou écrits par Anatomist, se trouvent dans $HOME/.anatomist/
  • Diverses modifs et corrections de bugs apparus avec Qt 2.2.0, comme par ex. des pbs de la boîte de sélection de fichiers, des plantages à la modification des noms de noeuds de graphes, ...
  • Fenêtre de référentiels & transformations refaite (Qt)
  • Fenêtre de fusion 2D refaite (Qt)
  • Nouvelle fenêtre "Profil" qui trace des courbes 1D selon l'axe voulu (par Fabrice): module perfusion
  • Changements internes (programmeurs):
  • Classe de configuration globale (AGlobalConfig) relisant sous forme d'arbre la configuration, et classes de config "locales" qui s'occupent d'aller chercher chacune pour un morceau de programme (un module par ex.) la partie de la config qui les concerne et de l'appliquer.
  • Commande "LinkedCursor"
  • Un peu de ménage: les fonctions, obsolètes depuis des années et des années, Anatomist::ReceiveEvent() et AObject::Action() ont enfin été éradiquées, ainsi que la structure AEvent qui allait avec, et une foule de fonctions inutiles et inutilisées dans les différentes fenêtres 2D.
  • Boîtes de sélection de fichiers re-standardisées en Qt, support Motif enlevé (Dimitri)
  • Headers SPM utilisant les nouvelles structures AttributedHeader d'Aims (objets attribués, ouverts)
  • Nouveau module de perfusion et fenêtre "Profile" par Fabrice Poupon... Bien joué ! (ce module nécessite la librairie de tracé de courbes Qwt)
  • Amélioration de l'usine à fenêtres AWindowFactoryet extension en QAWindowFactory: ça permet de garder des infos sur les types de fenêtres, comme les icônes et des descriptifs et simplifie l'enregistrement de nouveaux types de fenêtres (voir doc de programmation, mise à jour elle aussi)
  • Mise en commun des modules dans la même arborescence de sources qu'Anatomist, mais en librairies séparées. Pour l'instant il y a 2 modules "officiels", anasurfmatch et perfusion: anatomist/src/anasurfmatch et anatomist/src/perfusion.
  • 24/08/00 - Version 1.21

    Changements "visibles" (utilisateurs):
  • Début "d'internationalisation": fichiers de traduction, avec un début en français pour les textes de l'interface graphique de diverses fenêtres (toutes celles refaites récemment, en fait, y compris dans les modules)
  • Fenêtre de préférences globales refaite
  • Fenêtre "Tools 3D" refaite
  • Fenêtres des divers paramètres d'éclairage en 3D refaites et regroupées en une seule
  • Amélioration des paramètres des graphes: prise en compte au démarrage des couleurs de hiérarchie et des "tooltips", changement de la couleur de sélection par défaut qui était assez moche...
  • Raccourci clavier "s" pour synchroniser les vues 3D. En maintenant la touche appuyée, on obtinent un genre de synchro temps réel (bon, c'est assez primitif mais pour le moment ça ira bien)
  • Améliorations de la fenêtre de palettes: boutons pour revenir aux réglages par défaut
  • Changements internes (programmeurs):
  • Fichiers de traduction .po et .qm (Qt) dans l'arborescence: dependencies/po
  • Système de Makefile pour ces traductions (dans dependencies/po aussi) pour regénérer les fichiers et les mélanger avec ceux des modules
  • Petites modifs de l'interface des fenêtres 3D (pour l'éclairage)
  • 07/08/00 - Version 1.20

    Changements "visibles" (utilisateurs):
  • Tout nouveau look pour la fenêtre de contrôle -- vous êtes priés de le trouver plus joli...
  • Disparition de la petite fenêtre AnaQt, ses boutons sont maintenant inclus dans les menus "normaux" de la fênetre de contrôle
  • Module de "landmarks" qui permet de repérer des points sur une surface ou de point d'une surface le plus proche d'un point sélectionné, accessible par les options des objets 3D
  • Correction du bug qui faisait planter sur l'affichage d'une image vide
  • Nouvelles pages web sur les moulinettes et pour l'utilisation d'Anatomist pour la TMS, par Jean-François Mangin
  • Corrections des changements de repère pour les changements affines (pas rotation pure) -> utile pour certaines images SPM et la normalisation de Talairach
  • Quelques petites fenêtres de paramètres refaites (plus modernes, en Qt): params des fusions 3D, affectation des référentiels
  • Nouveau look pour la fenêtre de réglage des matériaux des objets 3D: plus joli, en principe plus facile à utiliser, mieux fait, et ça prend moins de place à l'écran
  • Changements internes (programmeurs):
  • Nouveaux Makefile qui marchent presque
  • Passage du projet à PRCS
  • Vérifications de types dans les IDs des commandes (-> évite des plantages suite à des bugs grossiers de scripts)
  • Harminisation des numéros de versions des modules avec celui d'Anatomist: 1.20 pour tout le monde
  • Refonte complète de l'interface graphique de la fenêtre de controle: passage de Motif/Mpp à 100% Qt - un grand pas en avant vers l'élimination de Motif dans Anatomist...
  • Un certain nombre de petits changements d'interface des classes "centrales": application, fenêtre de contrôle en particulier
  • Changements dans le module anasurfmatch: séparation d'une petite fabrique de surfaces simples (landmarks), et nouvelle option de choix de landmarks dans tous les types connus d'ojbets 3D (surfaces triangulées, fusions 3D, surfaces texturées, interpoleur). On pourrait mettre ça dans la base d'Anatomist, à terme
  • Transformations: meileure centralisation des transformations et transformations inverses
  • 13/07/00 - Version 1.19

    Changements "visibles" (utilisateurs):
  • Début de doc de programmation, accessible depuis l'aide HTML.
  • Page de doc sur les commandes (programmation script...)
  • Corrections de bugs dans la lecture des commandes
  • Modifications de la fenêtre de réglage des palettes: changement des bornes possibles, liaison entre objets par valeurs (et plus par proportion entre min et max)
  • Support du format SPM flottant
  • Changements internes (programmeurs):
    Gros chantier: réorganisation de l'arborescence des sources et des Makefile:
  • Fusion des librairies Anatomist, AnaQt, AnaQtMod. AnaSurfMatch reste en module.
  • Elimination de la librairie FWF qui posait pas mal de problèmes (-> librairie MPP 0.8)
  • Qt est donc maintenant obligatoire
  • Remplacement des anciens Makefile (Cyril Poupon) par un nouveau système utilisant Tmake (Dimitri Papadopoulos). Bon: il faut bien dire que pour l'instant ça ne marche pas encore bien...
  • Petits changements dans les librairies et l'ordre des sources dans les Makefile pour régler les conflits entre les librairies Anatomist et AnaQt fusionnées. Ça reste encore un peu fragile et sensible à l'ordre de linkage des .o... Pas vraiment moyen de faire autrement tant qu'on n'aura pas séparé les librairies en plusieurs couches.
  • Nouveau lecteur de transformations, un peu plus "objet", beaucoup plus simple et un peu moins buggé
  • Nouvelles commandes (sur les couleurs, les fusions, les référentiels...)
  • fin 06/00 - Version 1.18

    Elle n'existe pas vraiment - c'est juste un remplacement de la version 1.17 (jamais mise en service) pour préparer les changements de la 1.19. Elle comprend déjà la fusion des librairies anatomist, anaqt, anaqtmod, mais je détaille tout dans 1.19. C'est encore les anciens Makefile.

    20/06/00 - Version 1.17

    Changements "visibles" (utilisateurs):
  • Nouvelles pages web (dont celle-ci et celles sur la programmation)
  • Correction de bugs dans l'interpolation de surfaces et le matching
  • Ajout d'objets temporaires pour matérialiser les points de repère du matching de surfaces
  • Curseur 3D
  • Support basique pour les changements de repère dans les fenetres 3D: rotation, translation entre 2 surfaces.
  • Changements de repères pris en compte dans les fusions 3D
  • Chargement de scénarios et télécommande possible à travers un "pipe". Reste à étoffer la liste des commandes comprises par le processeur.
  • Sauveragrde / chargement de la config. des fenêtres (basique), chargement en tant que scenarios classiques.
  • On peut maintenant plusionner plus de 2 volumes dans les fusions 2D, mais c'est encore très mal géré pour le mélange des couleurs
  • On peut aussi faire une fusion 3D avec un nombre quelconque de surfaces et de volumes, mais pour le moment seule la 1ère surface et le 1er volume sont utilisés: à compléter... en attendant, NE PAS S'EN SERVIR pour le moment......
  • Enregistrement en continu des images à chaque fois qu'elles changent dans les fenêtres 2D et 3D pour faire des films (option "record" dans le menu "window" des fenêtres)
  • La commande "anaqt" a disparu, suite aux changements de place des librairies (c'est pas ma faute!). "ana" et "anadyn" ont aussi été remplacées. Il faut maintenant lancer "anatomist". Le Dimitri en a décidé ainsi, ça ne se discute pas. point.
  • Changements internes (programmeurs):
  • Processeur de commandes: lecture / écriture presque entièrement refaits: ils utilisent maintenant le format "Tree" (la lecture n'avait d'ailleurs jamais été faite, avant)
  • Petits changements dans les entrées / sorties des arbres dans libgraph -> nouvelle version libgraph-1.9
  • 90% des commandes inutiles ont disparu (et ne sont plus sauvées). Par contre celles qui restent savent maintenant se recharger.
  • Changements internes dans les fenetres, un peu de ménage (mais il y a encore du boulot)
  • Travaux préliminaires au nettoyage nécessaire dans les changements de repère, au moins pour les faire marcher dans les fenetres 3D (le plus gros reste à faire...) et pour ajouter les offsets du format SPM.
  • Changements de repères changés dans le curseur lié en particulier (ATTENTION: nouveaux bugs potentiels...)
  • début 05/00 - Version 1.16

  • Modifs internes, améliorations, bugfixes dans tous les objets 3D et un peu ailleurs (et éventuellement ajout de bugs nouveaux ?...)
  • Possibilité de sauver des maillages en .mesh
  • [Interne] Moteur de gestion de modes de curseur de souris (pattern "contrôle"), ouvert, par ex. pour pouvoir cliquer dans l'image pour choisir des points au cours d'actions particulières (choix de points de contrôle pour du matching de surfaces, plantage d'electrodes, dessin de ROI, ...). Bon ça pourra être amelioré, c'est un peu simpliste pour l'instant.
  • Nouveau module "surface matching" anasurfmatch-0.1 qui offre:
    1. Nouvelle fusion surface - surface et fenêtre de contrôle associée pour effectuer le matching. Le process crée une 3e surface déformable sur laquelle il travaille. Le calcul s'effectue en "temps réel" (threads) et on peut modifier les paramètres en cours de route, ajouter / enlever des "points de contrôle", ..., c'est donc un nouveau jeu très amusant. On peut aussi enregistrer toute la déformation dans une surface "temporelle" et la sauver: mieux qu'un mpeg (et plus gros en mémoire), c'est en 3D...
    2. Nouvelle fusion surface - TexSurface (surface texturée): interpoleur. Ça permet d'interpoler la texture associée à un maillage sur un autre maillage (qui doit avoir préalablement été recalé par le matching précédent). But: voir les potentiels d'EEG sur la surface de la tête. Pour l'instant: interpolation linéaire.
    3. Lecture de mes formats de texture EEG/matlab et fenêtre de contrôle qui offre des sliders sur les dimensions supplémentaires qui n'existent pas de base dans anatomist (essai / sujet).
  • Toutes les commandes ana, anaqt, anadyn pointent maintenant sur le même script (anadyn) de manière a ce que tout le monde ait accès au(x) nouveau(x) module(s).