Posted  by  admin

Download MedINRIA For Mac 3.1.1

Oct 22, 2009 Download MedINRIA for Mac to collection of software developed within the Asclepios research project. Choose your platform to download medInria Mac OS X. This installer is a classic.dmg file for Mac OS X 10.13 and later releases. To install, just drag and drop the app file in your application directory. For detailed instructions on how to install medInria on your mac, please refer to the corresponding documentation page.

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

2021/10/13 - Version 5.0.3

RadiAnt Viewer Date: March 27, 2013. RadiAnt Viewer is a DICOM image viewer with following features: Open and view DICOM files o Mono-frame and multi-frame, monochrome, RGB o Uncompressed, RLE, JPEG Lossy, JPEG Lossless, JPEG2000. Simple and intuitive interface. Zooming and panning. Download AirParrot 3.1.1 for Mac for free, without any viruses, from Uptodown. Try the latest version of AirParrot for Mac.

  • Fixed crash in Fusion3D using more than 2 volumes
  • Added a detailed doc about palettes and texturing
  • Fix in folds split
  • Fix in referential of internal CutMesh sub-object
  • Fixed objects icons being sometimes not loaded
  • Made the palette name optional palette specifications in objects .minf

2021/06/17 - Version 5.0.2

Visible changes (users):
  • fixes in auto-fusion (when several sliceable objects are put in the same view), avoiding possible crashes.
  • User docs have been imoroved and complemented, for referentials and coordinates systems, and coloring, especially.

2021/03/05 - Version 5.0.1

Visible changes (users):
  • Fixed meshes rendering property 'front face', the display in the user interface was showing the contrary of what it was (clockwise/counterclockwise)

2021/01/20 - Version 5.0.0

Visible changes (users):
  • A new default control allows to perform most actions with a single (left) mouse button. This also allows to control Anatomist in touch devices. Specific touch gestures have also been implemented.
  • Allow to save resampled volumes from anatomist
  • Limit used memory when loading large fiber tracks files
  • Support reduced connectivity matrices in connectivity matrix fusion (brain mesh + matrix + regions texture)
  • Other fixes and improvements in Python bindings

2018/09/24 - Version 4.6.1

Visible changes (users):
  • When several volumes (or 'sliceable' objects) are put in the same window, a Fusion2D is automatically created to display all slices properly merged together.
  • New little image 'math' module: allows to build a new volume from others using a python expression formula (similar to
  • Fixes in time sliders for objects with time steps (or voxel size) different from 1. on time and higher axes.
  • Display connectivity matrices also as images
  • Many other fixes

2017/11/30 - Version 4.6.0

Visible changes (users):
  • Handle objects of any dimensionality. Up to v 4.5 Anatomist was only handling 4D (3D + time) objects. This version can now use and visualize volumes with more dimensions, and use them in various types of fusions. A few objects might be 'forgotten' and still be limited to 4D, but normally most of them can use extra dimensions in their texturing.
  • CIFTI connectivity matrices display. The connectivity matrix object may use a CIFTI file using on-the-fly reading, and use its information to map to one or several meshes. Additional ROI textures may be used as patches.
  • The referentials / transformations window has been entirely rewritten. It is now using a 3D display.
  • New fusion type: VectorField. Fusion 1 to 3 volumes to form a vector field, displayed as lines in a slice.
  • Palette mode 'value 0 at center of palette' is now part of palette properties, is used in palette controls, and can be set by programming.
  • Windows snapshots and movie recording can now be done at given arbitrary resolution, and need no longer to fit the window / screen size. Off-screen rendering is working too, using hidden windows. They still need a X connection on Linux: Qt needs it and OpenGL contexts need it also.
  • Save / reload fusion objects and multiple objects. The new .aobj format can describe Anatomist objects, fusions, and properties. One or several objects may be saved in this format, and laded later.
  • Fixes in Fusion3D objects: the texture bounds were not correctly updated when recalculated, and the line modes now use one sample per voxel along the line, thus doe not miss any.
  • The transformation control has been improved and allows to select manually the transformation we want to operate on (by selecting source/destination referentials)
  • New fusion type: NormalsFusionMethod: fusion one (or several) mesh(es) to display its (their) normals.
  • Possibility to set perspective view parameters. The WidowConfig command has new parameters for this. The GUI has not been changed yet.
Internal changes (programmers):
  • Objects and windows APIs have been changed to handle N-dimensional objects and coordinates: typically AObject methods boundingBox, boundingBox2D, voxelSize (replacing the older VoxelSize), LinkedCursor actions, ViewState objects and GLComponent viewStateID method, etc.

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

Visible changes (users):
  • Fixes in texture duplication function, which avoids losing scaling and palette in some texture displays
  • allow drag objects to windows group(s)
  • allow drag windows from / to groups
  • In selection or ROI modes in a window, 'V' key displays information about the selected region in the status bar
Internal changes (programmers):
  • Porting to Python3. PyAnatomist and the underlying libraries (PyAims, Soma-Base) have finally been ported to Python 3. They are thus source compatible with with Python 2 series (2.6 and later) and Python 3 (3.4 and later).
  • Porting to Qt5. Anatomist and PyAnatomist (and the underlying aimsgui) have been made source-compatible with both Qt4 and Qt5. The build system of BrainVisa will select the appropriate configuration according to the DESIRED_QT_VERSION variable in cmake, and building should work transparently.
  • New options in AddObject command: temporary and position
  • Pyanatomist: HeadlessAnatomist class to run Anatomist in batch, using Xvfb and possibly VirtualGL (X11 implementation only).
  • PyAnatomist: AItem in threaded implementation now ensure to be deleted in the main thread

2016/02/17 - Version 4.5.0

Visible changes (users):
  • Material rendering properties have been completed in the GUI (color/rendering) to include line width, unlit color, and new selection conditions properties.
  • Material rendering properties have been improved for selection conditions: now a mesh can choose to be selectable when it is transparent, semi-transparent, always...
  • Fixed broken GUI panel for selection action.
  • Palette views in windows support a larger set of objects.
  • Fixed wrong scaling of palette views.
  • Connectivity matrix view has now a colormap correctly scaled.
  • Various fixes in connectivity matrix view.
  • Fixed windows display being blank when involving an empty mesh with a transformation (mesh bounding box problem).
  • Modifications in shader renderers, addition of a few material properties to control shader activation and options.
  • Fibers/bundles reading does not depend on old connectomist (private) plugin and is now builtin and open-source (in aimsdata).
  • Trackvis (.trk) format support for fibers for reading.
  • Fibers are now built with color rendering, using shaders in anatomist.
  • The SurfPaint module has been significantly improved, especially there are now undo / redo functionalities.
  • New config option: windowBackground.
  • The file dialog when loading objects allows to see objects header information, and to select loading options, as well as choosing between several possible data types.
  • Possibility to save a number of objects types as textured meshes (textured surfaces, fusions 3D, planar fusions 3D...)
  • Partial support for Wavefront .obj mesh format, allowing to export (or partially import) complete objects / scenes to blender or other software
  • Docs have been converted to sphinx format, and integrated in a cleaner, simpler, and more structured shape: the old 'help pages', the user manual, and the tutorial are now part of one user documentation set. The developer docs show C++ and python docs. As a consequence, all these docs are now available from the 'Help' menu.
  • Fixed snapshot recording in 3D windows, which were more or less broken (did not shoot at the right time) since introduction of graphics views.
  • Fixed Anatomist crash when a volume contains Not-a-Number or infinite values.
  • Several fixes in SurfPaint module, which could cause crashes, incorrect displays, or unpractical manipulation.
  • The number of displayed polygons per object can be limited in the configuration (maxPolygonsPerObject option) to avoid problems with very large meshes (typically, fiber tracts) with some 3D hardware. GUI available in preferences/OpenGL.
  • Meshes transparency rendering improvements: it is now possible to sort meshes polygons by depth in a window. This notably improves the rendering of transparent objects with many overlaps (like cortical meshes). It is triggered by the 'D' key in many controls.
    • WindowConfig command has a new option: polygons_depth_sorting to set it.
Internal changes (programmers):
  • Slight API changes in methods names of AWindow (start with lowercase).
  • Fixes in texture header properties when extracting a texture from an Anatomist object.
  • Complements in python bindings.
  • Source code has been adapted to avoid using Qt3Support compatibility library. (this will ease future porting to Qt5)

2013/04/07 - Version 4.4.0

Visible changes (users):
Download MedINRIA For Mac 3.1.1
  • Possibility to display orientation markers ('L', 'R' etc) in 2D views, still a bit experimental...
  • Fusion2D: geometric blend mode has been modified, and a new mode has been added for the former behavior
  • New Fusion2D blend mode: geometric lightening, 'geometric_lighten'
  • New object type: Fusion2DMesh. It displays the intersection between a mesh and a slice plane, a bit like in CutMesh, but the slice follows the window slice orientation, thus can be displayed with a volume in a 2D view. To activate it, use the fusion button with one or several meshes selected.
  • Fixed handling of very large images ( > 32767 voxels in a dimension)
  • Visual feedback for interactive palette bounds settings in windows (ctrl+right mouse button + mouse move). As this feedback relies on an important change in 3D windows widgets, and which seems not to work correctly on Mac, this feature is disabled by default on Mac: see in the internal changes.
  • Clearer visual feedback when using the oblique slice control: 3D bounds and plane intersection is displayed during the interactions, and slice plane information is also displayed on the window (using the graphics view system).
  • Clearer visual feedback when using the transformation control: when manually playing with transformations, 3D information is displayed (bounding boxes of objects moving, instant rotation axis and angle, relative scaling... Information about the transformation matrix, axis, center, angle, and scaling are also displayed when the graphics view is enabled, and can be edited. The way all this looks may change in the future because I'm not sure is is really comprehensive...
  • A few user interface changes, mainly due to the replacement of the Qt3 compatibility lib by pure Qt4 code. Objects/windows lists behave a bit differently, and browser windows too.
  • In the palettes settings window, the palettes list has changed to a table, showing an image for each palette, and some properties associated to palettes, allowing to sort the table accordingly.
  • New Fusion3D fusion mode: median.
  • Minor reworking of a few icons
  • Some optimizations in volmume loading time and memory management
  • fixed bug in offset calculation in 4D images (time) in sagittal display
  • Many other fixes...
Internal changes (programmers):
  • Volumes in Anatomist are now stored as carto::Volume rather than in AimsData classes
  • New object types: sparse matrix, and connectivity matrix mapping on a cortex mesh. Well for now only a in-house toolbox which is still under construction may make use of it, so it is still completely hidden for most users.
  • The palette settings window now allows some extensions, and allows to open the gradient editor as an example
  • A few improvements in Python/C++ bindings
  • Fixed some memory leaks
  • Most of the uses of the Qt3 compatibility lib have been removed, except for one or two classes of the main Anatomist lib. (it will also prepare things for Qt5 compatibility in the future)
  • Use of Qt QGraphicsView in 3D windows: this change allow to display all kinds of overlays (text/graphics information, widgets...) on top of the 3D rendering. In this mode, the Qt OpenGL widget is the background of the graphics view, which implies some behaviour changes in the 3D interactions. We tried to minimize changes for users, but there might still be a few gitches. This graphics view system can be disabled in the settings. Moreover it seems not to work properly on Mac, so it is disabled by default on Mac. This new feature allows to display various information as feedback for controls, like in palette bounds settings, or slice orientation, or manual transformation control.

2013/04/07 - Version 4.3.1

Bugfix release:

  • Minor display improvement for meshes and textures: display polygon/vertex/texture info in status bar
  • Improvements and optimization bug fix in matplotlib-based histogram
  • Bug fixed in Fusion3D objects with time volumes, the update was somewhat broken
  • More robustness to broken mesh / texture specified association in meshes headers
  • Fixed material properties 'line_width' and 'unlit_color' which were not correctly honored
  • Optimization improvements in IO: loading volumes is notably faster

2012/09/06 - Version 4.3.0

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

  • New 2D fusion modes
  • Fix visibility of icons in menus
  • Fix closing mode in ROI toolbox
  • Fix to enable displaying huge images
  • The Clear everything menu can really close all windows now
  • The matplotlib-histogram window has been improved, and now replaces the old one as the default histogram window (in windows buttons). Similarly, a new plugin brings a matlotlib-based profine window, which correctly handles coordinates transformations.
  • The manual sulci splitting plugin has been significantly improved, both on the algorithmic part (possibility to manually mark several points where the cut should go through) and the user interface (the cut line is visible before actually splitting, possibility to abort, etc).
  • Graph labels display as text in 3D, included in the selection control, and activated by hitting <A>, implemented in a fast way (compiled C++).
  • Anatomist windows highlighting: shows which window corresponds to the one under the mouse cursor in the list of the main window, or when using drag and drop
  • Optimizations in huge nomenclature / graphs coloring, which were terribly slow.
  • Use the Qt4 file dialog (which is more modern, but in some styles may lack some features, unfortunately...)

2012/02/16 - Version 4.2.1

Bug fix update and minor improvements:

  • Fix translations.
  • Fix a bug in iPython shell deletion
  • Disable saving texture for generated textures.

2012/02/03 - Version 4.2.0

Visible changes (users):
  • Add possibility to open browser window items when registering objects:
    • In practical use, when adding one object in a browser, the item is open; if several objects are added, it is not.
    • When adding several objects in windows, parent objects (graphs...) are added before their children. It avoids randomly having nodes together with their parent graph in browsers open via the 'view/select objects' option of 3D windows.
  • Fusion 2D parameters window: fixed a crash in Qt when 'dragging' an item in the list.
  • Added a box selection highligting feature to the improved selection control
  • Slightly modified outline selection using a more conventional 'cel-shading' technique. It is maybe a bit less ugly, and has fewer side effects.
  • Disabled tooltips when to ROI drawing tool is active
  • Made a few referentials / transformations menus clearer (about header info)
  • Use the IPython Qt console in Anatomist if ipython >= 0.11 is present.
  • Surfpaint module update.
  • Behaviour change in Anatomist:
    • Add graph nodes with graphs in windows by default.
    • Remove graph nodes with the graph from views also. Children removal is governed by a new shouldRemoveChildrenWithMe() method in MObject.
    • Menu option to add a graph without its children, to allow the older behaviour when needed.
  • Windows blocks improvements:
    • Possibility to arrange block windows in rows or columns, or rearrange as a rectangle.
    • Flexibility on dynamic rows / columns layout arrangement of blocks: number of rows/cols can be specified.
    • Fix in adding a window into a block: empty spaces (for closed windows) will be used properly now.
    • Windows blocks now default to fixed number of rows (since screens are generally wider than high)
  • Re-focus view after referential change
  • New config option: commonScannerBasedReferential. When enabled, all such referentials found in image headers are assumed to be the same.
  • New menu option in referentials window: split referential to dissociate transformations.
  • Colorbar saving option in 'view palette' feature (thanks Thomas)
  • New palettes: 'Graph-Label', 'pastel-256', 'French'
  • Planar mesh in CutMesh objects: Inverted planar mesh normals to avoid in/out notion inversion.
  • Docs updates, especially about the surface paint tool.
  • avoid crash in ROI menu 'session/clean' when the current graph cannot be retreived. (I Don't know what this is supposed to do anyway...)
  • Fixed referential inheritance on slice object
  • Fixes in lighting settings update in Anatomist windows
  • Take referentials / transformations into account when syncing views
  • Roi module: fixed GUI update of BrushUnit
  • Ensure windows are destroyed when closed even if they are not top-level windows (in blocks for instance).
  • Fix in PyAnatomist (socket implementation) asynchronous processing mess-up after destruction of objects.
  • Fixed multi-texturing bug on Windows OS. Actually it was the way to use OpenGL extension functions which did not work (or not always). Limiting the number of textures units should not be needed any longer.
Internal changes (programmers):
  • New command: PaintParam
  • Modified parameters of AddObject and RemoveObject commands, and cooresponding docs.
  • New command: WindowBlock
  • A few more Python bindings on the C++ library API, improvements and fixes
  • Changed applyBuiltinReferential functions to loadReferentialFromHeader() in python API.
  • Implement Anatomist.sync() in it just did nothing before. Now it calls qApp.processEvents().
  • added a Anatomist.paintParams() method in python API
  • Fixed memory leaks in AObjectConverter::anatomist() functions.

2011/09/14 - Version 4.1.1

Bug fix update and minor improvements:

  • New rotation mode where we don't need to keep the middle mouse button down: it is now possible to rotate an object by performing a double click with the middle button and moving the mouse. Another click ends this special rotating mode.
  • New Text objects to display text information in Anatomist windows.
  • More python bindings in the Python API.

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:

  • New surfacic ROI drawing toolbox: it is now possible to paint on a mesh (into a texture), and use curve drawing tools which include curvature constraints. This toolbox is developed in Marseille by O. Coulon's team, mainly by A. Le Troter.
  • Update and additions to pyanatomist documentation.
  • Bug fix in FusionRGBAVolumeMethod fusion method
  • Bug fix in palette update in a MultiTexture fusion

2010/11/05 - Version 4.0.2

Download MedINRIA for Mac 3.1.1 torrent

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.

  • 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

  • A new custom application for a simple viewer more suitable for inexperienced users:, 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

  • 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 theopen 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 whenset to outline mode individually (from its material, not from thewindow 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 visibleon saved images, and in some cases the back OpenGL buffer was saved instead ofthe 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 toalign the version number of all our software. AIMS was already in version 2.x, so thenext 'big number' was 3.
    'Visible' changes (users):
  • Slice objects: you can now extract a slice from a volume (or any 2D object likea Fusion 2D) by fusioning it alone, and display several slices with differentorientations in the same window. Slices orientations can be changed using a specificcontrol.
  • Textures and transparency rendering has changed a little bit. Now transparenttextures are taken into account and can make the object on which they are mappedtransparent. This also works for volumes (RGBA images with transparency, or imageswith 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 samewindow. All views are still as independent as they were before. TheCreateWindowexternal command has a new parameter to make this functionalityavailable.
  • 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 andshould 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
  • Download MedINRIA For Mac 3.1.1 Full

  • 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 memoryof 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 aright-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 isautomatic now, as it should have been from the beginning.
  • Finally the axial display convention option now has been enabled (after yearsand years). You can choose radiological or neurological display convention in thepreferences
  • 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 nowrecreate this referential via an 'object-specific' option of volumes. The formerbehaviour (automatic creation of the referential at load time) can be activated byan option in the preferences.
    Note: the creation of this referential is also a bit more intelligent than it used tobe: if an identical referential already exists, it is re-used, not duplicated. Thisresults 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 controlwindow (objects / windows) so it is always visible at the first sight.
  • The controls toolbox (ROI...) can be accessed via a menu in windows (not onlythe undocumented F1 key) and is automatically displayed when entering the drawingmode
  • Fixed bug (formerly called 'feature') that caused cortical folds graphs not tosave relation buckets when written by anatomist under a new name. This was due to thefact that relation buckets were not read at all in Anatomist since they are notdisplayed. 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 usethreads. It avoids blocking the GUI thread while reading commands, and should beless 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 stilla bug in version 1.28)
  • A first attempt to making 'cut meshes': meshes cut by a plane, it'sa new fusion mesh + volume. It is still very sensitive to meshes withcrossing triangles (often causing crashes) and it appears that most ofour meshes contain such crossing triangles. So it has been made an'unstable feature' only enabled if anatomist has been launched in --enabled-unstablemode. Otherwise it would now be possible to display a volume slicelimited to its intersection with a mesh (for instance head or brainmesh). But there is still this annoying bug to remove, and it's a bitdifficult to fix...
  • Anatomist can now read and display RGB images and volumes, likecolor 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 toenable dangerous and buggy features that are not really finished(sometimes even not operational) that are normally disabled. I didn'tmake 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 abilateral connection through a TCP network. Remote-control fromBrainVisa then has become easier (the whole communication interface hasbeen remade on BrainVisa side by Julien Barbot). Moreover Anatomist cannow signel things by sending 'events' when its state changes or whenthe user performs certain actions (like loading an object or clickingon a view).
  • Several new commands and new parameters to existing commands havebeen added for Brainvisa remote-control (I didn't keep the whole list)
  • Command to export textures (ExportTexture): saves to disk an OpenGLobject 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 segmenterpar 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 lavisualisation en tient compte
  • L'origine des images SPM (ou qui ont été en formatSPM) est ENFIN prise en compte: une transformation estautomatiquement créée entre l'image et le repèrecentral. ATTENTION, effet de bord: les objetssegmentés à partir de ces images n'auront pasautomatiquement le même repère, il faut le mettreà lma main, ça peut surprendre...
  • Encore un bon nombe d'améliorations des commandes pour lepilotage 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 maintenantcelui d'Aims (qui est une réécriture plus propre de cequ'il y avait avant dans la commande en ligne anatomist). Enconsé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 parrapport aux autres
  • ... (je n'ai pas tenu la liste à jour)
  • Changements internes (programmeurs):
  • La plupart des changements internes sur cette version concernentles 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ètementgénérique (formats complètement transparents etmodulaires, mécanisme pour choisir le type de données).
  • Tous les codes de toutes les librairies ont aussi remises auxnormes pour pouvoir éventuellement compiler avec d'autrescompilateurs: gcc-2.95, gcc-3.0, gcc-3.1. Pour l'instant l'essaid'autres compilateurs (SGI, sous windows etc) ont toujoursété des échecs: tous sont buggés et aucunn'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èsmodif par le contrôle correspondant), WindowConfig(fixe les params de géométrie des fenêtresanatomist)
  • Commandes complétées: ObjectInfo donne desindications 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: onpeut tirer un objet sur l'icône de la fenêtre decontrôle du type de fenêtre voulu, cela permet d'ouvrirune fenêtre et d'y mettre l'objet d'un seul coup.
  • Affichage des buckets refait, il devrait en principe êtrebeaucoup plus rapide, donc rendre le dessin de ROI plus utilisable
  • ROI: affichages optimisés à différentsniveaux, c'est plus rapide. Il reste encore des choses à faire dece côté-la.
  • Comportement des affichages des fenêtres 3D modifié:l'affichage n'est plus différé quand de multiplesaffichages sont demandés
  • Mode 'film': pour faire défiler les curseurs des coupesdes fenêtres 2D/3D automatiquement
  • On peut maintenant fusionner deux textures 1D pour en faire unetexture 2D
  • Référentiels & transformations: lestransformations se propagent de repère en repère et semettent à 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 bitssignés et 32 bits non-signés)
  • Corrections de petits et gros bugs: affichage des volumes selonles axes avec changement de repère en particulier
  • Changements internes (programmeurs):
  • Nouvelle commande 'ClosePipe' pour fermer latélécommande - par ex. pour que BrainVisapuisse 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 ildépend (Aims, graph, ...) pour pouvoir compiler avec d'autrescompilateurs 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 plusgénérique - c'est encore un tout petit peu instablemais ça devrit être bien mieux à terme: enparticulier les graphes contenant n'importe quel objet Aims pourrontêtre chargés dans Aims, anatomist, SiGraph, Voi, etc. dela même manière.
  • Nouvelle commande 'PopupPalette'
  • Nouvelle commande 'GetInfo' - donne des informations sur ce quiest dans l'application (objets, fenêtres,référentiels, ...)
  • Nouvelle commande 'ObjectInfo' - donne des informations plusprécises sur certains éléments donnés parleur 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 passeulement sur les volumes: on devrait pouvoir recharger aussi desmaillages, des 'buckets', des textures, etc.
  • Correction du bug très gênant qui montrait parfoisla mauvaise coupe d'un volume (problème d'arrondi sur le no decoupe)
  • 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 - sortiesentiè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, plusgénérique que DeleteObject ou CloseWindow.
  • Nouvelle commande SelectByHierarchy pour faire dessélections dans les graphes
  • Le tracking des faisceaux de fibres a été sorti dela librairie de base et 'modularisé'
  • 09/05/01 - Version 1.24

    Une version qui a mis un peu de temps à sortir (6 mois!), maisavec vraiment beaucoup de choses refaites et des foules de nouvellespossibilités...
    Changements 'visibles' (utilisateurs):
  • Corrections de bugs (et ajout de nouveaux...), entre autrej'espère avoir tordu le cou à celui qui faisaitparfois planter quand on détruit un objet et qui faisait durer1/2 heure la destruction d'un gros objet composé (graphe parex.) - à vérifier... bon en fait c'est pas encorecomplètement propre...
  • Les scénarios effectuant une fusion nécessitant unchoix (plusieurs fusions possibles) ne posent plus la questionlorsqu'on les rejoue (attribut 'method' de la commande defusion)
  • L'historique précédent est gardé (backup)dans ~/.anatomist/history.ana~, ce qui permet de rejouerle scénario de l'exécution précédented'Anatomist sans avoir à le copier préalablement
  • Nouveau look pour les fenêtres 2D et 3D, qui sontmaintenant les mêmes, la plupart des fonctions d'avantremarchent, mais avec un comportement éventuellement un peudifférent, en 2D il reste encore un peu de boulot (trackingdes fibres non refait)... On peut basculer une vue d'un mode 2Dà l'autre (axial, coronal, sagittal) et au mode 3D comme onveut, 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 mieuxgérés (sauvegardes lorsque l'image a réellementchangé, pas lorsqu'elle est masquée etréaffichée)
  • Landmarks: toutes les actions qui impliquaient un click sur uneimage 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 aucontraire, on fait d'abord jouer le curseur lié, puis onclique sur 'choisir un point': le landmark est crée àce moment-là à la position du curseur lié dugroupe de fenêtres non-groupées. C'est un peu imparfaitmais ça sera amélioré plus tard
  • Correction du bug qui inversait l'orientation des normales desmaillages en format .mesh binaire sur des machinesnécessitant un byte-swapping du fichier (conversionintel-sparc par ex.)
  • Des palettes 'utilisateur' peuvent êtreajoutées, il suffit de les placer (images au format JPEG)dans le répertoire ~/.anatomist/rgb(répertoire à créer préalablement s'iln'existe pas): elles seront chargées au prochain lancementd'Anatomist
  • Option 'recharger les palettes' dans le menu 'réglages' dela fenêtre de contrôle
  • Drag & Drop: on peut maintenant 'tirer' des objetsdepuis la fenêtre de contrôle, directement vers lesfenêtres, ou vers le panneau droit de la fenêtre decontrôle.
  • Pour ceux qui bricolent les graphes (et les hiérarchies denoms), on peut aussi stocker des fichiers de syntaxe perso dans ~/.anatomist/syntaxet ~/.anatomist/syntax/internal pour les attributs internes(non exportés dans les entrées-sorties maisutilisés en interne dans Anatomist ou les modulesspécifiques) (non testé...)
  • La boîte de sélection de fichiers (pour charger desobjets par ex.) peut avoir un certain nombre de répertoirespré-enregistrés pour retrouver du premier coup vosdonnées préférées. Pour le momentl'ajout de directories n'est pas très convivial: il fautéditer le fichier ~/.anatomist/config/settings.cfg etajouter l'attribut path_list avec comme valeur une liste derepertoires séparés par des ':' (comme les PATHUnix)
  • Option de lancement (sur la ligne de commande) pour ne pas ouvrirla fenêtre de contrôle: option -b ('batch'). Cette option sera utile pour une 'visualisation simple', par exemple depuisla plateforme de traitements BrainVisa de YannCointepas.
  • Download MedINRIA For Mac 3.1.1 Iso

  • Liste des modules chargés visible depuis la fenêtrede contrôle (menu aide/modules)
  • Rechargement de transformations sans avoir besoin de les effacerpréalablement
  • Coupes obliques: on peut changer l'orientation du plan decoupe des volumes en utilisant le nouveau contrôle 'vuesobliques', 2 modes pour cela: soit en bougeant le plan de coupeavec le trackball, soit en bougeant les objets avec le trackball touten laissant le plan de coupe fixe.
  • Début de module de régions d'intérêtpar Renaud - c'est le tout début.
  • Les fichiers 'scripts' .ana (ou 'scénario') peuventmaintenant être chargés comme les objets, depuis lemême menu 'ouvrir' et la même boîte desélection de fichiers, et au démarrage d'anatomistcomme arguments sur la ligne de commande, le flag -f n'estplus obligatoire pour les .ana
  • On peut mettre des belles images en fond des listes (fenêtrede contrôle, browsers), si on l'indique dans sa config:éditer le fichier ~/.anatomist/config/settings.cfget ajouter le champ listview_background en lui donnant lefichier image à utiliser (à un des formatssupportés par Qt) - OK c'est juste un gadget, mais moi j'aimebien les gadgets.
  • Doc: j'ai un peu retouché son look (mais pas soncontenu........)
  • Possibilité de mettre des plans de clipping dans lesnouvelles fenêtres 2D/3D: ça peut être utile par ex.quand on mélange un volume anatomique et des objets 3Dsegmentés qu'on veut voir coupés
  • Les images SPM qui contiennent des valeurs infinies (NaN) sontfiltrées et ne font plus planter Anatomist.
  • Pas mal d'options d'affichage des rendus OpenGL peuvent êtrechoisies dans les fenêtres 2D/3D (panneau 'outils' desfenêtres)
  • Changements internes (programmeurs):
  • Nouvelle commande Exit pour fermer un Anatomisttélécommandé
  • Nouvelle commande LinkWindows pour grouper desfenêtres
  • Nouvelle commande Select pour la sélection (lessauvegardes / rechargements ne marchent pour l'instant pas pour lessous-objets d'un graphe)
  • Download MedINRIA For Mac 3.1.1 Version

  • Nouvelle commande Fusion2DParams, pour régler lesparamètres des fusions 2D.
  • PASSAGE A Qt: plus de Motif ! Les fenêtres (3D, 2D)ont été entièrement refaites, l'applichangé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 Qtavec contrôleurs: QAWindow, ControlledWindow(gère la barre de boutons des contrôleurs)
  • Download MedINRIA For Mac 3.1.1 Pc

  • Contrôles et actions de base pour fenêtres 3D: curseurlié, 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, enparticlier les fenêtres 2D affichent maintenant comme en 3D enutilisant OpenGL. Il y a encore pas mal de problèmesà régler et de bugs, mais bon... - attention, çava être plus lent sur une machine sans carte 3Daccélérée...
  • etc etc etc... en fait il y a eu beaucoup beaucoup de changementssur cette version...
  • 03/11/00 - Version 1.23

    Changements 'visibles' (utilisateurs):
  • Outil pour tracer des plans passant par 3 points: dans le moduleanasurfmatch. On fait une fusion de 3 landmarks.
  • Surfaces texturées: on ne règle plus lapalette depuis l'objet fusion (surface texturée ouinterpolée) mais depuis la texture elle-même. Du coupon obtient des valeurs non-normalisées sur lesréglages de palette, ce qui permet d'utiliser une échelle quantitative.
  • Fenêtre de news qui apparaît la première foisqu'on lance une nouvelle version d'Anatomist
  • Possibilité d'enlever le gros logo rouge 'Anatomist' de lafenêtre de contrôle depuis les réglages depréférences (sauvable dans la config)
  • Cylindres: faits comme les plans, à partir de 2 surfaceslandmark
  • Correction du bug qui faisait planter Anatomist à la lecturede fichiers compressés - on peut maintenant lire des .tri.gzou des .tex.Z, etc.
  • Début de graphes de landmarks: création d'un grapheà partir d'un volume (sur la mêmegéométrie), ajout de noeuds et de buckets en cliquantsur des points.
  • Chargement des graphes de ROI au format VOI, enfin dès queVOI 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 (pasencore opérationnel), par Fabrice. On y accède depuisles opérations spécifiques sur un volume.
  • Lecture DICOM
  • Changements de repères étendus aux multi-objets: enparticulier on peut mettre un repère sur un graphe et lui affecter une transformation
  • La sélection tient aussi compte des changements derepère
  • Changements internes (programmeurs):
  • Petites modifs de l'interface des AObjects (flags hasChangedajoutés pour la texture et la géométrie), dans ATexSurfaceet AInterpoler.
  • Boîte de dialogue FusionChooser pour les casoù plusieurs fusions peuvent être faites à partirdes 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 graphesen particulier
  • Nouvelle interface vues / contrôles de Renaud Maroy, à utiliser pour refaire les fenêtres 2D et 3D dans les prochainesversions
  • 03/10/00 - Version 1.22

    Changements 'visibles' (utilisateurs):
  • Sauvegarde et rechargement des paramètres etpréférences dans$HOME/.anatomist/config/settings.cfg. Pour l'instant cette sauvegardeest partielle, il y a encore beaucoup de choses qui pourrait êtresauvé et qui ne n'est pas.
  • Le fichier de commandes 'historique' sauvé automatiquementpar 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 defichiers, des plantages à la modification des noms de noeudsde graphes, ...
  • Fenêtre de référentiels & transformationsrefaite (Qt)
  • Fenêtre de fusion 2D refaite (Qt)
  • Nouvelle fenêtre 'Profil' qui trace des courbes 1D selonl'axe voulu (par Fabrice): module perfusion
  • Changements internes (programmeurs):
  • Classe de configuration globale (AGlobalConfig) relisantsous forme d'arbre la configuration, et classes de config 'locales' qui s'occupent d'aller chercher chacune pour un morceau de programme (unmodule par ex.) la partie de la config qui les concerne et del'appliquer.
  • Commande 'LinkedCursor'
  • Un peu de ménage: les fonctions, obsolètes depuisdes années et des années, Anatomist::ReceiveEvent()et AObject::Action() ont enfin étééradiquées, ainsi que la structure AEvent quiallait avec, et une foule de fonctions inutiles et inutiliséesdans les différentes fenêtres 2D.
  • Boîtes de sélection de fichiersre-standardisées en Qt, support Motif enlevé (Dimitri)
  • Headers SPM utilisant les nouvelles structures AttributedHeaderd'Aims (objets attribués, ouverts)
  • Nouveau module de perfusion et fenêtre 'Profile' parFabrice Poupon... Bien joué ! (ce module nécessite lalibrairie de tracé de courbes Qwt)
  • Amélioration de l'usine à fenêtres AWindowFactoryetextension en QAWindowFactory: ça permet de garderdes infos sur les types de fenêtres, comme les icônes etdes descriptifs et simplifie l'enregistrement de nouveaux types defenêtres (voir doc de programmation, mise à jour elleaussi)
  • Mise en commun des modules dans la même arborescence desources qu'Anatomist, mais en librairies séparées. Pourl'instant il y a 2 modules 'officiels', anasurfmatch et perfusion: anatomist/src/anasurfmatchet 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'interfacegraphique de diverses fenêtres (toutes celles refaitesré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 en3D refaites et regroupées en une seule
  • Amélioration des paramètres des graphes: prise encompte au démarrage des couleurs de hiérarchie et des'tooltips', changement de la couleur de sélection pardéfaut qui était assez moche...
  • Raccourci clavier 's' pour synchroniser les vues 3D. En maintenantla touche appuyée, on obtinent un genre de synchro tempsréel (bon, c'est assez primitif mais pour le moment çaira bien)
  • Améliorations de la fenêtre de palettes: boutons pourrevenir 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 (dansdependencies/po aussi) pour regénérer les fichiers etles mélanger avec ceux des modules
  • Petites modifs de l'interface des fenêtres 3D (pourl'é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 sontmaintenant inclus dans les menus 'normaux' de la fênetre decontrôle
  • Module de 'landmarks' qui permet de repérer des points surune surface ou de point d'une surface le plus proche d'un pointsélectionné, accessible par les options des objets 3D
  • Correction du bug qui faisait planter sur l'affichage d'une imagevide
  • Nouvelles pages web sur les moulinettes et pour l'utilisationd'Anatomist pour la TMS, par Jean-François Mangin
  • Corrections des changements de repère pour les changementsaffines (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 desréférentiels
  • Nouveau look pour la fenêtre de réglage desmaté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
  • Download MedINRIA For Mac 3.1.1 Pro

  • Vérifications de types dans les IDs des commandes (->évite des plantages suite à des bugs grossiers descripts)
  • Harminisation des numéros de versions des modules aveccelui d'Anatomist: 1.20 pour tout le monde
  • Refonte complète de l'interface graphique de lafenêtre de controle: passage de Motif/Mpp à 100% Qt -un grand pas en avant vers l'élimination de Motif dansAnatomist...
  • Un certain nombre de petits changements d'interface des classes'centrales': application, fenêtre de contrôle enparticulier
  • Changements dans le module anasurfmatch: séparation d'unepetite fabrique de surfaces simples (landmarks), et nouvelle option dechoix de landmarks dans tous les types connus d'ojbets 3D (surfacestriangulées, fusions 3D, surfaces texturées,interpoleur). On pourrait mettre ça dans la base d'Anatomist,à terme
  • Transformations: meileure centralisation des transformations ettransformations inverses
  • 13/07/00 - Version 1.19

    Changements 'visibles' (utilisateurs):
  • Début de doc de programmation, accessible depuis l'aideHTML.
  • 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 (etplus par proportion entre min et max)
  • Support du format SPM flottant
  • Changements internes (programmeurs):
    Gros chantier: réorganisation de l'arborescence des sources etdes Makefile:
  • Fusion des librairies Anatomist, AnaQt, AnaQtMod.AnaSurfMatch reste en module.
  • Elimination de la librairie FWF qui posait pas mal deproblèmes (-> librairie MPP 0.8)
  • Qt est donc maintenant obligatoire
  • Remplacement des anciens Makefile (Cyril Poupon) par un nouveausystème utilisant Tmake (Dimitri Papadopoulos). Bon: il fautbien dire que pour l'instant ça ne marche pas encore bien...
  • Petits changements dans les librairies et l'ordre des sources dansles Makefile pour régler les conflits entre les librairiesAnatomist et AnaQt fusionnées. Ça reste encore un peufragile et sensible à l'ordre de linkage des .o... Pasvraiment moyen de faire autrement tant qu'on n'aura passéparé les librairies en plusieurs couches.
  • Nouveau lecteur de transformations, un peu plus 'objet', beaucoupplus simple et un peu moins buggé
  • Nouvelles commandes (sur les couleurs, les fusions, lesré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 dela 1.19. Elle comprend déjà la fusion des librairiesanatomist, 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 derepère du matching de surfaces
  • Curseur 3D
  • Support basique pour les changements de repère dans lesfenetres 3D: rotation, translation entre 2 surfaces.
  • Changements de repères pris en compte dans les fusions 3D
  • Chargement de scénarios et télécommandepossible à travers un 'pipe'. Reste à étoffer laliste 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 fusions2D, mais c'est encore très mal géré pour lemélange des couleurs
  • On peut aussi faire une fusion 3D avec un nombre quelconque desurfaces et de volumes, mais pour le moment seule la 1èresurface et le 1er volume sont utilisés: àcompléter... en attendant, NE PAS S'EN SERVIR pour lemoment......
  • Enregistrement en continu des images à chaque fois qu'elleschangent 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 deslibrairies (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 sediscute pas. point.
  • Changements internes (programmeurs):
  • Processeur de commandes: lecture / écriture presqueentiè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 arbresdans libgraph -> nouvelle version libgraph-1.9
  • 90% des commandes inutiles ont disparu (et ne sont plussauvées). Par contre celles qui restent savent maintenant serecharger.
  • Changements internes dans les fenetres, un peu de ménage(mais il y a encore du boulot)
  • Travaux préliminaires au nettoyage nécessaire dansles changements de repère, au moins pour les faire marcher dansles fenetres 3D (le plus gros reste à faire...) et pourajouter les offsets du format SPM.
  • Changements de repères changés dans le curseurlié en particulier (ATTENTION: nouveaux bugs potentiels...)
  • début 05/00 - Version 1.16

  • Modifs internes, améliorations, bugfixes dans tous lesobjets 3D et un peu ailleurs (et éventuellement ajout de bugsnouveaux ?...)
  • 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 dansl'image pour choisir des points au cours d'actionsparticulières (choix de points de contrôle pour dumatching de surfaces, plantage d'electrodes, dessin de ROI, ...). Bonça pourra être amelioré, c'est un peu simplistepour l'instant.
  • Nouveau module 'surface matching' anasurfmatch-0.1 qui offre:
    1. Nouvelle fusion surface - surface et fenêtre decontrôle associée pour effectuer le matching. Leprocess crée une 3e surface déformable sur laquelle iltravaille. Le calcul s'effectue en 'temps réel' (threads) eton peut modifier les paramètres en cours de route, ajouter /enlever des 'points de contrôle', ..., c'est donc un nouveaujeu très amusant. On peut aussi enregistrer toute ladéformation dans une surface 'temporelle' et la sauver: mieuxqu'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 avoirpréalablement été recalé par le matchingprécédent). But: voir les potentiels d'EEG sur lasurface de la tête. Pour l'instant: interpolation linéaire.
    3. Lecture de mes formats de texture EEG/matlab et fenêtre decontrôle qui offre des sliders sur les dimensionssupplémentaires qui n'existent pas de base dans anatomist(essai / sujet).
  • Toutes les commandes ana, anaqt, anadyn pointent maintenant surle même script (anadyn) de manière a ce que tout le mondeait accès au(x) nouveau(x) module(s).

  • Mac System Software 3.x
    Version of Mac System Software
    Preliminary name
    Latest build
    Release date1986-01
    Support end1987-01-01
    Mac System Software 2.x
    Replaced by
    Mac System Software 4.x

    Mac System Software 3.0 is a version of the Mac System Software released by Apple in January 1986. The Hierarchical File System is fully implemented, allowing the use of directories and hard drives on the system.

    Builds[editedit source]

    Build list legend

    Confirmed build
    Fake build

    3.0[editedit source]

    3.1[editedit source]

    3.2[editedit source]

    3.3[editedit source]

    3.4[editedit source]

    Retrieved from ''