Project

General

Profile

Logged in as brainvisa

BrainVisa release plans and planned evolutions

Version 4.2: january 2012

FEATURES:
  • Soma-workflow integration in BrainVisa
  • FreeSurfer toolbox:
    Process "Import From FreeSurfer to T1 pipeline" is available at user level 1.
    All other processes are available at user level 2.
  • lock files:

    Please to refer Issue #3427 to read the beginning of the discussion.
    To sum up the short implemenation of locked files, it seems better:

    • to lock at the file level with an empty .lock file
    • the lock don't be transmitted when you copy files
    • no new button, just a new entry in the menu by right-click on the parameter
    How to lock files / unlock files:
    • by right-click on the parameter

    Lock action:
    When you press "run" to launch a process or a pipeline, BrainVISA must check if data are locked (if there is a .lock). If yes, BrainVISA stops the process.
    When a process launch a command with context.system, BrainVISA must check too.
    context.runProcess and context.system
    But do ALL processes use a context.sytem when they launch a command ?

    Further features:

    • lock all output files of a pipeline or a process
    • add an option in BrainVISA -> preferences : to lock always/never output files

version 4.3: september 1, 2012

  • Feature freeze (and svn branches creation): august 1, 2012
  • Axon:
    • Processing history management in databases: (/) done
    • GUI: docs viewer is now a “real” web browser: (/) done
    • Axon libs can now really be used as standard python libraries: import brainvisa.axon: (/) done
    • Anatomist control goes to the “direct” mode, allowing more sophisticated viewers (BV/Anatomist combined interfaces): (/) done
    • reorganization of axon source tree: files in the "brainvisa" directory should go in the "python" tree. (/) done
      Old python modules have been moved to brainvisa.processing, brainvisa.data and brainvisa.configuration sub-modules.
      Older top-level modules (directly used in processes, such as neuroProcesses) are still reachable directly via a proxy module, which will import from the new location (brainvisa.processing.neuroProcesses for instance). Modules which should not be commonly used from processes (like neuroLog) have been removed from the brainvisa directory.
    • fixes in configuration options (it aborted when a non-existing (or moved away) file was referenced in the config: (/) done
    • reusable anatomist windows in Brainvisa: done but could be extended to windows blocks: (/) done
  • Morphologist:
    • Reorganization of the toolbox, now including the sulci and morphometry toolboxes: (/) done
    • Greg's “snapbase”, large scale snapshot tools
  • Anatomist:
    • Replacements for old histogram and profile windows, with more features: (/) done
    • “BrainVisa Sulci Atlas” plugin: may be posponed to release 4.4
    • some new features in manual sulci splitting: (/) done
    • sulci annotations reimplemented in C++, a lot faster now: (/) done
    • new fusion modes: (/) done
    • fibers rendering using shaders light models: (!) delayed, implemented in 4.5
  • Aims:
    • AimsRoiFeatures should replace AimsVoiStat: it should thus implement all features of AimsVoiStat (like timesteps features), and make AimsVoiStat issue a deprecation warning
  • Soma-workflow:
    • compatibility with Pyside: (/) done
  • Documentations:

    Document new features: TO DO...

Most important features are almost ready.
Still needs:

Later, version 4.4? and / or 5.0

Most of the following features have been aborted and postponed. Version 4.4 (released in nov. 2013) was mainly a slight update to 4.3, with limited improvements.

  • Drop compatibility with python 2.5: 2.6 or higher must be installed on all systems ( (/) done)
  • Axon:
    • Pipelining infrastructure will be entirely redesigned ( (!) not done)
    • Databasing will be redesigned ( (!) not done)
      • Allow remote, multi-user databases, as well as local lightweight databases
      • Overcome concurrent access problems and limitations
      • Allow databases copies and easy data sharing (partially done)
    • More modularization: ( (!) not done)
      • pipelining and databasing APIs will be available as independent library modules. “Axon” will just use several components
      • Processes will look more like standard python functions
  • Morphologist:
    • More restructuring of the pipeline, allowing better parallelization (partially done in Morphologist 2013)
    • user-friendly interface: Connectomist-style with integrated Anatomist views ( (!) not released)
    • Integrating the morphometric stats part ( (!) not done)
  • Anatomist:
    • ROI toolbox GUI refactoring ( (!) not done)
    • New fibers rendering ( (/) done for version 4.5)
    • Redesign the referentials/transformations system ( (!) not done)
    • Integration of connectivity profiles visualizations (Pauline Roca) ( (/) done in Constellation 4.5, but not released yet)
    • Various GUI improvements and visual interactive feedbacks (partly done)

Version 4.5

Target date: july 2015

New web site (currently brainvisa.fr)

  • create an account brainvisa
  • create 2 directories:
    ~/prod/www
    ~/testing/www
  • create 2 directories for repositories and installers
    ~/prod/packages/<release>/<system>/brainvisa-installer
                                       packages
    ~/testing/packages/...

( (/) done)
Test site: http://brainvisa.fr:8080

make bug_fix branches

bv_maker correspondance

bv_maker svn
trunk trunk
bug_fix
branches/4.3
         4.2
         bug_fix (= future 4.4) 
tag
tags/latest_release (= 4.3.1)
     4.3.0 

The correspondance between bv_maker names and svn/git branches can be setup independently.
We will do so wile setting up the new svn branches bug_fix, so that developers will not be impacted.

make a new script: bv_release, for automatic version / branch change

it will replace bv_create_branch

  • The script should deal with svn and git, with a priority for svn, first.
  • 2 modes:
    • change trunk -> bug fix branch
    • tag a new release

both modes are similar with small differences.

For svn:
  • bug_fix branch:
    bv_release -i <project(s)>
    • move the bug_fix branch to a new numbered version: <tt>bug_fix -> 4.4</tt>
      if the numbered branch already exists ? delete it first ? display an error ? merge it ?
      if bug_fix doesn't exist yet: do nothing ?
    • copy the trunk branch to the (new) bug_fix one
    • increment the version number in trunk sources (project_info.cmake/info.py etc)
  • tag a release:
    bv_release -r <project(s)>
    • move the latest_release branch/tag to a numbered version: <tt>latest_release -> 4.3.1</tt>
    • copy the bug_fix branch to the (new) latest_release one
      (version is not changed) *** questionable ? maybe the version in bug_fix should be incremented (4.3.2) ?

( (/) done for svn)

For git, the branch policy has to be defined first.
  • git has a master branch, which is generally the "stable" one, corresponding to bug_fix (in svn or bv_maker).
    this "stable" branch should not include new features.
  • we need a development one, equivalent to trunk, but which integrates new features: integration ?
  • creating a new bug_fix branch will merge integration into master (and tag wit a number)
  • creating a release will move the latest_release tag, and create a numbered tag

Distributions will use the Qt installer. ( (/) done)

Features

web site

  • complete images, especially for developing toolboxes demos
  • link to CATI project ( (/) done)
  • validate things with Jeff

software

  • soma-io: the OpenSlide plugin and lib has modifs for Zeis format, not integrated to the main Openslide project due to possible license issues.
  • fix tests which do not pass at the moment
  • fix Matplotlib on Windows which randomly fails to load some of its modules
  • cleanup soma-base
    • clarify separation between Capsul and Soma-base libs (Controller GUI...) (ongoing)
    • move some things from soma-base to axon, remove obsolete things (ongoing)

To be further discussed and continued...

Also available in: PDF HTML TXT