Software/NIMS

From VISTA LAB WIKI

Jump to: navigation, search

The Neurobiological Image Management System NIMS has as its main objective to increase researcher productivity in the categorization, storage and retrieval of neurobiological images and associated content.

Download the NIMS back-end description pdf

Contents

[edit] Using NIMS

To login to NIMS use the link [1]. There are restrictions at the moment, so you have to do this from a hard line, not from wireless network.

If you have a user account, log in. Otherwise, you need someone with root access to give an account. This would be Bob. Or read the web-page.

[edit] NIMS Demo

We would like to make a video illustrating user scenarios with NIMS. A list of the video demonstrations might be

  • Uploading data from the scanner into NIMS
  • Reviewing the data
    • Login process
    • Reviewing all of your experiments and data types
    • Some visualization of the data and data integrity in the browser
      • Montage
      • Single slice
      • Mesh?
  • Data download
    • Selecting files for download and analysis
    • Selecting files for permanent archiving, including ISO Images
  • Searching through data sets
    • Finding subjects
    • Finding types of data
    • Finding grant stuff
  • Validating data
    • Automated tools
    • User-interactions
  • Security, HIPPA, consent forms, and grant activities
  • Map out the image analysis API. This API should offer image processing algorithm developers an easy means to add modules to NIMS without requiring any NIMs code changes. I.e., it should be a true plug-in architecture where the necessary GUI elements to support a new plug-in are automatically generated in the API. The plug-in tells the API what kinds of images it can operate on, how many images it needs, and what user input is needed to set configurable parameters. The API then presents the user with this image processing option in the list of options when they are in the right context, allows the user to select the images that will be input, then automatically generates a form page to allow the configurable options to be set.

[edit] NIMS Programming

[edit] Getting started

[edit] Adding a simple image processing function

  • Create a derived object- edit src/nims/controllers/nio/derived.py
  • Edit the series (so it knows about the new object) - edit src/nims/controllers/nio/series.py
  • If we are using the 'content' NIO then we are done. But, if we want a custom object, then edit the model to add a new specific NIO object:
  - edit src/nims/model/tables.py around line 200 and add a new table for the nio object
  - NOTE: you also have to add the postgres table to the live database.
  - Edit orm.py, ~line 102

[edit] Creating a thumbnail montage

[edit] NIMS image viewers

[edit] A simple ITK Example

  • from [2]
  • assumes a nifti image file test.nii.gz in the current directory
  • launch python, then try the following:
import itk
image_type = itk.Image[itk.F, 3]
# Load the test image:   
reader = itk.ImageFileReader[image_type].New()
file_name = 'test.nii.gz'
reader.SetFileName(file_name)
reader.Update()
# Run a median filter
median_filter = itk.MedianImageFilter[image_type, image_type].New()
median_filter.SetRadius( 1 )
median_filter.SetInput( reader.GetOutput() )
median_filter.Update()
# Save the filtered image
writer = itk.ImageFileWriter[image_type].New()
writer.SetFileName('out.nii.gz')
writer.SetInput( median_filter.GetOutput() )
writer.Update()

[edit] NIMS Links

Description of a typical scan session, and suggestions for how we might use the database

A To-Do list for NIMS development

NIMS phase 2 development goals

Personal tools