NIMS

From CNI Wiki

Jump to: navigation, search

The CNI neurobiological image management system (NIMS) is being developed to facilitate the stewardship of all data collected at the CNI. NIMS is currently under active development. A functional, but minimal version of NIMS was deployed in mid-2011 and has been used to collect, organize, and provide access to all data collected at the CNI. (Old development notes can be found on the NIMS_archive page.)

The purpose of NIMS

As a service to our users (and to the scientific community!), the CNI is committed to archiving all data collected at the center. We plan to archive all the reconstructed data in perpetuity. For some sequences, we will also archive the k-space data for at least two years. Thus, the primary aim of NIMS is to store and organize the data collected at the CNI and allow easy access by the data owners. NIMS also does some minimal data preprocessing, such as conversion from DICOM to NIFTI format, reconstruction of k-space data for sequences that require a custom recon, and calculation of physiological regressors when physio data have been recorded. NIMS is an open-source package, and we hope that other imaging centers will use it and perhaps contribute to the code.

We also intend NIMS to facilitate data sharing between labs, both within Stanford and across institutions. To this end, the CNI is collaborating with a group at the University of Washington on a data sharing initiative (SNI).

Finally, we hope that NIMS will help labs to keep their data organized and to use good data management practices. To this end, NIMS will impose a particular structure on the data organization.

NIMS Data Organization Overview

NIMS data organization.

NIMS imposes a particular organization on the data that it houses. The core container for data is the experiment. An experiment is simply a collection of datasets that share a common description and common access-control rights (see below). Within an experiment, the most common type of data is a session. This is loosely defined as a short period of time when a research subject visits the lab for data collection. Within a session, there may be several epochs, which are well-defined chunks of time that involved measurement. The most common type of epoch is an MR scan. Such an epoch would include the MR dataset acquired during that scan, as well as any other data that was time-synchronized to the epoch, such as behavioral data, physiological data, eye tracking data, EEG data, etc.

Data Sorting

NIMS is programmed to sort data according to information provided by the operator within the Patient ID field. Within this field you may provide your Group and Project name as well as (optionally) a unique subject identifier.

The format of the string in the Patient ID field is as follows:

 <SUBJECT_ID>@<GROUP_NAME>/<PROJECT_NAME>
 ** Note the special characters ('@' between the SUBJECT_ID and the GROUP_NAME and the '/' between the GROUP_NAME and PROJECT_NAME. 
 ** When a unique SUBJECT_ID is not being given the '@" can be omitted. **

Those exams that do not provide sorting information will be placed into an 'Unknown' Group within an 'Untitled' Project. Those data can be rearranged by a CNI staff member.

For those exams which the operator does not wish to be in NIMS she should simply type 'Discard' into the Patient ID field.

NIMS Access Control

Stanford's WebAuth system.

The NIMS architecture allows for both public and private data areas. The public area can be used for any data that we want to share with the community, such as brain atlases generated by our researchers, images resulting from analyses, anonymized data that researchers wish to share, etc. However, the bulk of the data in NIMS must be kept private, accessible only to the researchers who own the data. Thus, the private area of NIMS is WebAuth protected. This means that only users with a SUNet ID can attempt to access the protected data in NIMS. This also means that we rely on Stanford's well-hardened security system and that we never need to store or access user's passwords.

Once a user logs into NIMS and is authenticated via WebAuth, NIMS determines which data, if any, the user is authorized to access. These data are then shown to the user. The data access policy is defined at the experiment level. Each experiment is owned by a research group, which is comprised of a PI, one or more lab administrators, and users. NIMS defines several levels of access to all the data within an experiment:

  1. anonymous read-only: the user can only see anonymized data
  2. read-only: the user can see the images and the subject identity information, but cannot modify the data or add data
  3. write: the user can see data and identity information, can edit some of the meta-data, and can add new data
  4. manage: the user can do all of the above, and can also grant access to other users

The PI will always have manage access to all the experiments within their research group. The PI can also designate one or more lab admins who will by default get manage access to all the current and future experiments owned by the research group. By default, all the users within a research group will get write access to all the current and future experiments within the research group. However, anyone with manage access (PIs or lab admins) can modify these permissions as needed.

NIMS Data Processing Modules

We are currently implementing several basic data pre-processing steps that will be automatically run on new data entering NIMS. Of course, the raw, unprocessed data will always be available in addition to the pre-processed data. The currently implemented data processing modules are:

  • Conversion from DICOM to NIFTI
  • Reconstruction of data that are not reconned by the scanner (i.e., spiral sequences)

We are also considering adding the following modules:

  • Automated quality assurance metrics
    • Detection of common artifacts
    • Basic SNR calculation
    • Subject motion summary for timeseries data
  • Voxel reordering to put all data into a cannonical orientation (will fix FSL alignment issues)
  • Coil gain inhomogenity correction for 3-D structural images (will make FSL & SPM normalization and segmentation work better)
  • Combined slice-timing and motion correction (as implemented here), with optional physiological correction
  • FreeSurfer tissue segmentation, surface fitting, and surface labeling
  • BrainPrint: a compact ID code that identifies and distinguishes each unique brain (useful for reliably finding all the datasets collected on a single subject)
Personal tools