Difference between revisions of "Service:Main"

From NAMIC Wiki
Jump to: navigation, search
Line 18: Line 18:
 
== Support the Delivery of High-Quality Software ==
 
== Support the Delivery of High-Quality Software ==
  
High-quality software is
+
To build high-quality software, the NA-MIC Service Code has developed [http://wiki.na-mic.org/Wiki/index.php/OverviewSoftwareProcessSummary high-quality software processes and tools] that are use in building the NA-MIC Kit and that are distributed with the NA-MIC Kit.  Key aspects of those processes include the following:
 +
 
 
# Builds upon and contributes to industry standards
 
# Builds upon and contributes to industry standards
#* NA-MIC's Engineering Core is tasked with using and contributing back to open-source projects of the NA-MIC Kit.
+
#* NA-MIC's [http://wiki.na-mic.org/Wiki/index.php?title=Engineering Engineering Core] is tasked with using and contributing back to the open-source components of the NA-MIC Kit.  Specific examples of those open-source components are listed [http://wiki.na-mic.org/Wiki/index.php?title=Engineering:Kitware here].
# Is build using open design discussions
+
# Is built using open design discussions
 
#* We are hosting
 
#* We are hosting
#** Wiki pages to post designs and maintain an overview of NA-MIC efforts
+
#** [http://www.na-mic.org/Wiki/index.php/Main_Page Wiki pages] to post designs and maintain an overview of NA-MIC efforts
#** Email lists to gather comments, host discussions, and resolve issues
+
#** Email lists to gather comments, host discussions, and resolve issues (Approximately a dozen mailing lists have been established to cover various topics within the NA-MIC community.)
 
#** Weekly TCons to coordinate efforts and maintain long-term plans
 
#** Weekly TCons to coordinate efforts and maintain long-term plans
 
#** Mantis bug tracker to post errors and make feature requests
 
#** Mantis bug tracker to post errors and make feature requests
 
# Supports multiple platforms
 
# Supports multiple platforms
#** CMake and CPack provide cross-platform build and deployment systems.
+
#** [http://wiki.na-mic.org/Wiki/index.php/CmakeSummary CMake] provides cross-platform build and deployment systems.
 
# Uses a consistent coding style
 
# Uses a consistent coding style
 
#** A consistent coding style simplifyies learning, debugging, and extension.  We are using the VTK and ITK style guidelines for our efforts.
 
#** A consistent coding style simplifyies learning, debugging, and extension.  We are using the VTK and ITK style guidelines for our efforts.
 
# Is thoroughly tested
 
# Is thoroughly tested
 
#** CTest and CDash are used to test the operation of 3D Slicer and the NA-MIC Kit on a multitude of platforms, every night.
 
#** CTest and CDash are used to test the operation of 3D Slicer and the NA-MIC Kit on a multitude of platforms, every night.
 +
#** [http://public.kitware.com/dashboard.php?name=slicer Slicer testing dashboard]
 +
#** [http://public.kitware.com/dashboard.php?name=namic General NA-MIC dashboard]
  
 
== Support the Delivery of Useful Algorithms ==
 
== Support the Delivery of Useful Algorithms ==
Line 40: Line 43:
 
== Facilitate the Sharing of Science ==
 
== Facilitate the Sharing of Science ==
  
 +
[[Image:MIDASLogo.png|120px]]
  
{| |width="120px" | [[Image:MIDASLogo.png|120px]]
+
[http://www.kitware.com/products/midas.html MIDAS] is open-source software for hosting heterogeneous databases, e.g., databases of images, publications, meta-data, presentations, and more.  MIDAS also provides interfaces so that its data can be easily accesses over the web and via C++/python/Java.  MIDAS can also harvest data from other databases on the web, e.g., PubMed and genomics databases.  NA-MIC has a MIDAS installation to serve as the [http://www.na-mic.org/publications NA-MIC Publications Database].  MIDAS is also being used to host [http://www.insight-journal.org/midas/community/view/17 NA-MIC data],  the [http://www.insight-journal.org Insight Journal], the [http://www.midasjournal.org/ MIDAS Journal], and the [http://www.midasjournal.org/?journal=35 VTK Journal].  Direct access to MIDAS's data from within Slicer is being developed to support informatics analysis and visualization.  Direct access to MIDAS's publications from within Slicer is being developed to provide documentation and integrative tutorials. [http://www.kitware.com/products/midas.html More...]
| |
 
 
 
== [http://www.kitware.com/products/midas.html MIDAS and the Publications Database] ==
 
 
 
MIDAS is open-source software for hosting heterogeneous databases, e.g., databases of images, publications, meta-data, presentations, and more.  MIDAS also provides interfaces so that its data can be easily accesses over the web and via C++/python/Java.  MIDAS can also harvest data from other databases on the web, e.g., PubMed and genomics databases.  NA-MIC has a MIDAS installation to serve as the [http://www.na-mic.org/publications NA-MIC Publications Database].  MIDAS is also being used to host [http://www.insight-journal.org/midas/community/view/17 NA-MIC data],  the [http://www.insight-journal.org Insight Journal], the [http://www.midasjournal.org/ MIDAS Journal], and the [http://www.midasjournal.org/?journal=35 VTK Journal].  Direct access to MIDAS's data from within Slicer is being developed to support informatics analysis and visualization.  Direct access to MIDAS's publications from within Slicer is being developed to provide documentation and integrative tutorials. [http://www.kitware.com/products/midas.html More...]
 
 
 
|)
 
 
 
{| |width="120px" | [[Image:CMake-logo-med-res.png|100px]]
 
| |
 
 
 
== [http://wiki.na-mic.org/Wiki/index.php/CmakeSummary CMake The Cross-platform Make Tool] ==
 
 
 
[http://www.cmake.org CMake] is used to control the software build process using simple platform, compiler and operating system independent configuration files. CMake generates native makefiles and workspaces that can be used in the development environment of your choice. That is, CMake does not attempt to replace standard development tools such as compilers and debuggers, rather it produces build files and other development resources that can benefit from automated generation. Further, once CMake configuration files are created, they can be used to produce developer resources across the many platforms that CMake supports. CMake is quite sophisticated: it is possible to support complex environments requiring system configuration, pre-processor generation, code generation, and template instantiation. [http://wiki.na-mic.org/Wiki/index.php/CmakeSummary More...]
 
 
 
<hr>
 
|-
 
 
 
 
 
| | [[Image:Cdash.gif|100px]]
 
| |
 
 
 
== [http://wiki.na-mic.org/Wiki/index.php/CmakeSummary CDash, CTest, CPack Software Process Tools] ==
 
 
 
As an adjunct to [http://www.cmake.org CMake] the tools [http://wiki.na-mic.org/Wiki/index.php/CDashSummary CDash], [http://wiki.na-mic.org/Wiki/index.php/CTestSummary CTest], [http://wiki.na-mic.org/Wiki/index.php/CPackSummary CPack] are used to test and package all components of the NAMIC kit. CTest is a testing client that locally performs testing on a software repository, and then communicates the results of the testing to CDash (and other testing, dashboard servers such as DART2). CPack is a cross-platform tool for packaging, distributing and installing the NAMIC kit on various systems including Linux, Windows, and Mac OSX. [http://wiki.na-mic.org/Wiki/index.php/OverviewSoftwareProcessSummary More...]<br>
 
 
 
|}
 
 
 
 
 
* The na-mic.org domain has been obtained.
 
* A NAMIC web server has been installed, and web pages have been created.
 
* Approximately a dozen mailing lists have been established.
 
* This Wiki has been established.
 
* HTTPS Certificate for na-mic.org was purchased to allow secure communication.
 
* A [http://public.kitware.com/dashboard.php?name=slicer Slicer testing dashboard] has been set up.
 
* A [http://public.kitware.com/dashboard.php?name=namic General NAMIC dashboard] has been set up.
 
* A rack of testing machines has been configured.
 
 
 
== Backups ==
 
 
 
* NA-MIC system every day collects all the system description, Wiki and bug tracker databases, and all other important files. These files are packaged once a day
 
* The system from remote location copies these packages to its location. Once the files are copied, the remote system triggers the system at Kitware.
 
* If the system at Kitware is not triggered within 5 hours of the backup time, it sends e-mails to several NA-MIC people to make sure everything is ok.
 
* Example e-mail sent to the administrators:
 
 
 
To: namic-backup@public.kitware.com
 
Subject: NAMIC Backup Problem
 
From: root@public.kitware.com
 
 
Hello,
 
 
There seems to be a problem with the backup of the NA-MIC system. The problem was:
 
Looks like there was a problem doing backup. Last backup was done more than 50 hours ago
 
 
Thank you.
 
 
Kitware System Administrators
 
 
 
== Spam protection ==
 
 
 
* Wiki pages are commonly targeted by people creating bogus links to their own pages to raise the rank of their own pages. This results in many unnecessary links being present on certain pages, as well as vandalising of those pages.
 
* NA-MIC Wiki uses a spam protection scheme developed by Kitware within the MediaWiki software. This scheme includes a list of all users that can create pages that contain links to other pages.
 
* If a user that is not authorized tries to make a link to some page outside the NA-MIC community, the e-mail is sent to the administrators. Sample content of this e-mail:
 
 
 
To: wiki-spam@public.kitware.com
 
Subject: [WIKI-Spam] NAMIC Wiki Somebody triggered spam filter
 
Date: Mon, 20 Mar 2006 02:09:13 -0500 (EST)
 
From: www-data@public.kitware.com (www-data)
 
 
Hello,
 
 
There was a spam attempt:
 
http://rx.auto.pl - User: Z2fool
 
 
IP: 200.69.177.214
 
 
      Wiki spam filter...
 
 
 
* The user is also presented with the page that explain why his post did not come through. User now has an option to request for the authorization. The page looks like this:
 
 
 
Spam protection filter
 
From NAMIC Wiki
 
 
The page you wanted to save was blocked by the spam filter. This is probably caused by a link to an external site.
 
 
Please send the following string to the mailto:wiki-admin@public.kitware.com: "http://www.kitware.com - User: Andy"
 
 
Return to Main Page.
 
 
 
= Hardware =
 
 
 
* Kitware has purchased and installed a web server at the BWH computer site.
 
* Kitware has purchased and installed a rack of testing machines at Kitware's computer center.
 
* The NAMIC server has been recently updated with RAID for improved backup, fault tolerance and performace.
 
* Kitware has recently run fiber to the Clifton Park office to improve network performance (i.e. a 3-4x speed gain)
 
 
 
= Collaboration =
 
  
* Several courses have been organized and taught with the Training and Dissemination cores.
 
  
* Software and hardware in support of the Engineering Core has been installed and configured. This includes the testing server DART, the cross-platform build tool CMake, and various operating system/compiler (i.e., platform) configurations.
+
= Computer Systems and Networking =
* Slicer migration:
 
** New download pages
 
** Automatic uploading and administering
 
** Preparation for moving slicer.org to na-mic.org
 
  
= Support =
+
Beyond the software, community, and processes of NA-MIC is an extensive collection of computer systems and services that rivals the rigor and complexity of a major corporation. 
  
* We continue to maintain and support the mailing lists, Wiki, and web pages.
+
* Testing farm
* We are providing support for several NAMIC tools including VTK, ITK, KWWidgets, CMake and DART.
+
**  A rack of testing machines has been configured.
* Kitware has assigned Mathieu Malaterre as a dedicated support person for the Slicer 3.0 initialive.
+
* Backups
* Organizing MICCAI 2005 Open Source Workshop [[Dissemination:MICCAI_Workshop_2005|(See details)]].
+
** NA-MIC system every day collects all the system description, Wiki and bug tracker databases, and all other important files. These files are packaged once a day
* Preparing ITK advanced course at EPFL Switzerland [[Dissemination:EPFL_Workshop_2005|(See details)]].
+
** The system from remote location copies these packages to its location. Once the files are copied, the remote system triggers the system at Kitware.
* Preparing ITK introductory courses.
+
** If the system at Kitware is not triggered within 5 hours of the backup time, it sends e-mails to several NA-MIC people to make sure everything is ok.
 +
* Spam protection
 +
** Wiki pages are commonly targeted by people creating bogus links to their own pages to raise the rank of their own pages. This results in many unnecessary links being present on certain pages, as well as vandalising of those pages.
 +
** NA-MIC Wiki uses a spam protection scheme developed by Kitware within the MediaWiki software. This scheme includes a list of all users that can create pages that contain links to other pages.
 +
** If a user that is not authorized tries to make a link to some page outside the NA-MIC community, an e-mail is sent to the administrators.
 +
** The user is also presented with the page that explain why his post did not come through. User now has an option to request for the authorization. The page looks like this:
 +
* Hardware
 +
** Kitware has purchased and installed a web server at the BWH computer site.
 +
** Kitware has purchased and installed a rack of testing machines at Kitware's computer center.
 +
** The NAMIC server has been recently updated with RAID for improved backup, fault tolerance and performace.
 +
** Kitware has recently run fiber to the Clifton Park office to improve network performance (i.e. a 3-4x speed gain)
  
 
[[Category: Slicer]] [[Category: NA-MIC Kit]]
 
[[Category: Slicer]] [[Category: NA-MIC Kit]]

Revision as of 12:13, 17 March 2010

Home < Service:Main
Back to NA-MIC Cores

Mission

The mission of the Service Core is to provide and maintain the collaborative and computing infrastructure that NA-MIC needs to achieve its research and outreach goals. This includes devising an infrastructure that allows NA-MIC efforts to have the significant and lasting impact on the NA-MIC community and the broader field of medical image analysis.

We have designed an infrastructure that offers clear benefits to developers and users while promoting the ideals of NA-MIC and open science, with minimal burden. We are building and maintaining that infrastructure by directing our service efforts in the following ways:

  1. Maintain open licensing
  2. Support the delivery of high-quality software
  3. Support the development of useful algorithms
  4. Gather and respond to feedback from the community
  5. Facilitate the sharing of documentation, software, and data

Open Licensing

The 3D Slicer software is distributed under a BSD-style open source license that contains no restrictions on use of the software. Additional details are given here and the full terms of the license can be read here.

Support the Delivery of High-Quality Software

To build high-quality software, the NA-MIC Service Code has developed high-quality software processes and tools that are use in building the NA-MIC Kit and that are distributed with the NA-MIC Kit. Key aspects of those processes include the following:

  1. Builds upon and contributes to industry standards
    • NA-MIC's Engineering Core is tasked with using and contributing back to the open-source components of the NA-MIC Kit. Specific examples of those open-source components are listed here.
  2. Is built using open design discussions
    • We are hosting
      • Wiki pages to post designs and maintain an overview of NA-MIC efforts
      • Email lists to gather comments, host discussions, and resolve issues (Approximately a dozen mailing lists have been established to cover various topics within the NA-MIC community.)
      • Weekly TCons to coordinate efforts and maintain long-term plans
      • Mantis bug tracker to post errors and make feature requests
  3. Supports multiple platforms
      • CMake provides cross-platform build and deployment systems.
  4. Uses a consistent coding style
      • A consistent coding style simplifyies learning, debugging, and extension. We are using the VTK and ITK style guidelines for our efforts.
  5. Is thoroughly tested

Support the Delivery of Useful Algorithms

Gather and Respond to Community Feedback

Facilitate the Sharing of Science

MIDASLogo.png

MIDAS is open-source software for hosting heterogeneous databases, e.g., databases of images, publications, meta-data, presentations, and more. MIDAS also provides interfaces so that its data can be easily accesses over the web and via C++/python/Java. MIDAS can also harvest data from other databases on the web, e.g., PubMed and genomics databases. NA-MIC has a MIDAS installation to serve as the NA-MIC Publications Database. MIDAS is also being used to host NA-MIC data, the Insight Journal, the MIDAS Journal, and the VTK Journal. Direct access to MIDAS's data from within Slicer is being developed to support informatics analysis and visualization. Direct access to MIDAS's publications from within Slicer is being developed to provide documentation and integrative tutorials. More...


Computer Systems and Networking

Beyond the software, community, and processes of NA-MIC is an extensive collection of computer systems and services that rivals the rigor and complexity of a major corporation.

  • Testing farm
    • A rack of testing machines has been configured.
  • Backups
    • NA-MIC system every day collects all the system description, Wiki and bug tracker databases, and all other important files. These files are packaged once a day
    • The system from remote location copies these packages to its location. Once the files are copied, the remote system triggers the system at Kitware.
    • If the system at Kitware is not triggered within 5 hours of the backup time, it sends e-mails to several NA-MIC people to make sure everything is ok.
  • Spam protection
    • Wiki pages are commonly targeted by people creating bogus links to their own pages to raise the rank of their own pages. This results in many unnecessary links being present on certain pages, as well as vandalising of those pages.
    • NA-MIC Wiki uses a spam protection scheme developed by Kitware within the MediaWiki software. This scheme includes a list of all users that can create pages that contain links to other pages.
    • If a user that is not authorized tries to make a link to some page outside the NA-MIC community, an e-mail is sent to the administrators.
    • The user is also presented with the page that explain why his post did not come through. User now has an option to request for the authorization. The page looks like this:
  • Hardware
    • Kitware has purchased and installed a web server at the BWH computer site.
    • Kitware has purchased and installed a rack of testing machines at Kitware's computer center.
    • The NAMIC server has been recently updated with RAID for improved backup, fault tolerance and performace.
    • Kitware has recently run fiber to the Clifton Park office to improve network performance (i.e. a 3-4x speed gain)