543
I Use This!
Activity Not Available

News

Analyzed about 1 year ago. based on code collected about 1 year ago.
Posted over 10 years ago by Robert Maynard
I am proud to announce the CMake 3.0 sixth and hopefully final release candidate. Sources and binaries are available at:   http://www.cmake.org/files/v3.0/?C=M;O=D Documentation is available at:   http://www.cmake.org/cmake/help/v3.0 ... [More] Release notes appear below and are also published at   http://www.cmake.org/cmake/help/v3.0/release/3.0.0.html Some of the more significant features of CMake 3.0 are: Compatibility options supporting code written for CMake versions prior to 2.4 have been removed. The CMake language has been extended with *Bracket Argument* and  *Bracket Comment* syntax inspired by Lua long brackets. The CMake documentation has been converted to reStructuredText and uses Sphix generation. Generators for Visual Studio 10 (2010) and later were renamed to include the product year like generators for older VS versions: "Visual Studio 10" -> "Visual Studio 10 2010" "Visual Studio 11" -> "Visual Studio 11 2012" "Visual Studio 12" -> "Visual Studio 12 2013"  This clarifies which generator goes with each Visual Studio version. The old names are recognized for compatibility. A new "CodeLite" extra generator is available for use with the Makefile or Ninja generators. A new "Kate" extra generator is available for use with the Makefile or Ninja generators. The "add_library()" command learned a new "INTERFACE" library type. Interface libraries have no build rules but may have properties defining "usage requirements" and may be installed, exported, and imported.  This is useful to create header-only libraries that have concrete link dependencies on other libraries. The "export()" command learned a new "EXPORT" mode that retrieves the list of targets to export from an export set configured by the "install(TARGETS)" command "EXPORT" option. This makes it easy to export from the build tree the same targets that are exported from the install tree. The "project()" command learned to set some version variables to values specified by the new "VERSION" option or to empty strings. See policy "CMP0048". Several long-outdated commands that should no longer be called have been disallowed in new code by policies: Policy "CMP0029" disallows "subdir_depends()" Policy "CMP0030" disallows "use_mangled_mesa()" Policy "CMP0031" disallows "load_command()" Policy "CMP0032" disallows "output_required_files()" Policy "CMP0033" disallows "export_library_dependencies()" Policy "CMP0034" disallows "utility_source()" Policy "CMP0035" disallows "variable_requires()" Policy "CMP0036" disallows "build_name()" ----------------------------------------------------------------- Changes made since CMake 3.0.0-rc5: Brad King (3):       CMP0022: Fix link language propagation in NEW behavior       KWSys SystemTools: Port cygwin path conversion to modern API       KWSys Process: Workaround child kill trouble on Cygwin Eric Berge (1):       cmSystemTools::RenameFile: Retry on Windows ERROR_SHARING_VIOLATION James Bigler (1):       FindCUDA: Use CUDA_NVCC_FLAGS* for separable compilation       [Less]
Posted over 10 years ago by Luis Ibanez
We recently had the honor of contributing a chapter to the book "Implementing Reproducible Research" edited by Victoria Stodden, Friedrich Leisch, and Roger D. Peng.  The book features contributions under three major themes of "Tools", ... [More] "Practices and Guidelines" and "Platforms" Certainly three areas we are passionate about at Kitware! Our Chapter  "Practicing Open Science" summarizes our experience working at Kitware and with collaborators on the practical aspects of performing reproducible research on a daily basis while developing open source frameworks for scientific research, such as ParaView, VTK, ITK, CMake and MIDAS. In particular we addressed the following topics: Open Data Open Source Open Access Open Standards Open Science Platform Challenges The book is already available from Amazon, and chapters can be viewed online, and downloaded. We hope that this book will be a valuable contribution to current and future scientists who want to practice the true scientific method, which is rooted in the principle of reproducibility verification. "Nullius in Verba" "Take Nobody's word for it" "It is an expression of the determination of Fellows of the Royal Society to withstand the domination of authority and to verify all statements by an appeal to facts determined by experiment."   To be counted as true scientific work, the reports of experiments ought to be replicated first by independent groups. Such a task requires that the independent researchers have access to all the elements defining the experiment; today these elements must include software, data and documentation. Therefore, Open Science is a necessity to enable the practice of Reproducible Research. There are a host of subjects covered in other book chapters, authored by strongly committed advocates and practitioners of reproducible research and open science.  We enthusiastically invite you to check them out.   [Less]
Posted over 10 years ago by Robert Maynard
I am proud to announce the CMake 3.0 fifth release candidate. Sources and binaries are available at:   http://www.cmake.org/files/v3.0/?C=M;O=D Documentation is available at:   http://www.cmake.org/cmake/help/v3.0 Release notes appear ... [More] below and are also published at   http://www.cmake.org/cmake/help/v3.0/release/3.0.0.html Some of the more significant features of CMake 3.0 are: Compatibility options supporting code written for CMake versions prior to 2.4 have been removed. The CMake language has been extended with *Bracket Argument* and  *Bracket Comment* syntax inspired by Lua long brackets. The CMake documentation has been converted to reStructuredText and uses Sphinx generation. Generators for Visual Studio 10 (2010) and later were renamed to include the product year like generators for older VS versions: "Visual Studio 10" -> "Visual Studio 10 2010" "Visual Studio 11" -> "Visual Studio 11 2012" "Visual Studio 12" -> "Visual Studio 12 2013"  This clarifies which generator goes with each Visual Studio version. The old names are recognized for compatibility. A new "CodeLite" extra generator is available for use with the Makefile or Ninja generators. A new "Kate" extra generator is available for use with the Makefile or Ninja generators. The "add_library()" command learned a new "INTERFACE" library type. Interface libraries have no build rules but may have properties defining "usage requirements" and may be installed, exported, and imported.  This is useful to create header-only libraries that have concrete link dependencies on other libraries. The "export()" command learned a new "EXPORT" mode that retrieves the list of targets to export from an export set configured by the "install(TARGETS)" command "EXPORT" option. This makes it easy to export from the build tree the same targets that are exported from the install tree. The "project()" command learned to set some version variables to values specified by the new "VERSION" option or to empty strings. See policy "CMP0048". Several long-outdated commands that should no longer be called have been disallowed in new code by policies: Policy "CMP0029" disallows "subdir_depends()" Policy "CMP0030" disallows "use_mangled_mesa()" Policy "CMP0031" disallows "load_command()" Policy "CMP0032" disallows "output_required_files()" Policy "CMP0033" disallows "export_library_dependencies()" Policy "CMP0034" disallows "utility_source()" Policy "CMP0035" disallows "variable_requires()" Policy "CMP0036" disallows "build_name()" ----------------------------------------------------------------- Changes made since CMake 3.0.0-rc4: Brad King (10):       Utilities/Sphinx: Fix cmake domain document removal with python3       Utilities/Sphinx: Add option to build 'singlehtml' format       Restore --help-full option to output all help manuals       ExternalProject: Fix path to cmake in verify script       KWSys SystemInformation: Include backtrace APIs whenever we use them       ctest_build: Do not crash on bad generator name       cmTarget: Drop unused GetProperty signature       cmTarget: Evaluate CMP0026 in calling context       Ninja: Fix deptype for Intel compiler on Linux Eric Berge (1):       VS: Fix /MANIFESTUAC:NO linker option mapping Felix Krause (1):       InstallRequiredSystemLibraries: MBCS MFC is optional on VS 12 (#14903) Johannes Huber (1):       cmake-gui: Fix desktop file icon configuration Mark Wright (2):       FindCurses: Honor CURSES_NEED_NCURSES when curses is found       FindCurses: Detect and satisfy ncurses dependency on tinfo Rolf Eike Beer (3):       CompileFlags: Test for C++ features after selecting flags       CompileFlags: Add -AA +hpxstd98 on HP-UX 11.11 with aCC       CompileFlags: add better selection which aCC version gets -AA +hpxstd98 flags Tim Blechmann (1):       OS X: Fix Info.plist placement in a CFBundle Uwe L. Korn (1):       Utilities/Sphinx: Port documentation generation to python3 (#14886)   [Less]
Posted over 10 years ago by Jean-Christophe Fillion-Robin
Hosted by Lawrence Tarbox and Dan Marcus from Mallinckrodt Institute of Radiology of the Washington University in St. Louis School of Medicine, the 9th CTK hackfest was again a great success !   CTK hackers at work in the ERL conference ... [More] room   During the week, the group of international and enthusiastic hackers addressed a large number of topics including DICOM support, CLIs, XNAT and also the CTK build and testing infrastructure.   DICOM   dcmjs.org - We created dcmjs - A javascript cross-compilation of dcmtk that can be re-used in a HTML5 compliant browser. It allows the analysis and the process of DICOM images directly within the browser. Two demos have been crafted: (1) dcmjs dump to “View the header of a dicom file” and (2) dcmjs view to "View the pixel data of a dicom file”   WG27 - DICOM and Web technology - We discussed with Lawrence Tarbox about the possible direction to consider regarding the support of web technology in DICOM. Some notes and links have been reported here: http://www.commontk.org/index.php/CTK_DICOM_Web_Services   CTK DICOM widgets have been improved to better support the Quantitative Image Informatics for Cancer Research project (QIICR). Details list of improvements is reported here: https://github.com/QIICR/ProjectIssuesAndWiki/wiki/Slicer-Infrastructure-Projects   CLIs   MedInria integration - In order to fully leverage the CLI framework, CTK has been integrated into the MedInria build system. The CLI plugin was also updated to the latest version of the medInria internal APIs, and preliminary work was done to integrate the CLI framework more natively into the medInria architecture. Checkout the list of frameworks that already integrated the CLI mechanism: http://www.commontk.org/index.php/CLI_In_Context.   SlicerChronicle - A Slicer module that communicates with Chronicle has been prototyped. Chronicle is a scalable, distributed, standards-based database to support detailed descriptions of patient state and treatment scenarios in support of multi-system modelling. See https://github.com/pieper/SlicerChronicle   XNAT   CTK XNAT support has been extended and improved to fully leverage qRestAPI library capabilities. qRestAPI is simple Qt library allowing to synchronously or asynchronously query a REST server. Improvements include support for addition of new subjects, folders and data, as well as saving changed objects back to the XNAT server. Further, access to assessments, reports and forms was improved/added.   CTK infrastructure   Qt5 support - User pull requests updating both CTK and PythonQt have been consolidated and reviewed. In the coming weeks, corresponding work will be finalized and integrated into CTK.   Back to “regular” CDash layout - When establishing the CTK infrastructure, we initially chose to “hijack” the capabilities of CDash to support subprojects to display build and test results of CTK internal libraries as subprojects. While the initial idea was ambitious, it complexified the underlying infrastructure and make the review of submissions more difficult. We decided to revert to a more traditional layout and present result on a single consolidated page.   TravisCI - Work has been done to leverage the continuous integration platform TravisCI, when integrated. Every integration to CTK master branch will trigger a build and associated build and testing results will be uploaded to CDash.   CTK Debian package - We continue our effort to provide CTK packages on Debian based linux distribution. Details reported here: http://www.commontk.org/index.php/Debian_Packaging   Bug tracker - We reviewed the long standing issues and closed the one which were not relevant any more.   Well deserved break sightseeing the St Louis arch.     This post was collaboratively edited and reviewed by the CTK hackers. [Less]
Posted over 10 years ago by Jean-Christophe Fillion-Robin
A few days ago, the number of active 3DSlicer developers reached 100 members! Kitware is a primary developer of 3DSlicer, an open-source tool for medical image segmentation, registration and visualization. Using our software processes, it has ... [More] become the de facto standard in research labs around the world and for rapidly prototyping commercial systems. In the last 12 months, it has been downloaded over 62,000 times.  3DSlicer has over 1,600 subscribers to its email lists. As part of our development of 3DSlicer, Kitware has hosted the 3DSlicer-developers weekly phone conference for many years. At the end of 2011, we created the “3DSlicer BarCamp” G+ community and transitioned to a more interactive way of discussing and sharing progress and issues related to 3DSlicer development. We have found BarCamps to be an effective tool that complements Kitware’s high-quality software processes, e.g., CMake and CDash. BarCamps capture the dynamic flow of events inherent to a massive development community. Every week, by simply creating an event and providing a link to the agenda hosted on the 3DSlicer wiki, any community member can add topics that will be discussed during the video hangout.   Image from Andras Jakab 2nd place winner of Visualization Contest at MICCAI 2009. A few days ago, because of the growing popularity of 3DSlicer and its BarCamps, the 3DSlicer developers G+ community reached 100 members! Congratulations to those 100, and the many other 3DSlicer developers who are creating innovative algorithms and applications around the world. Kitware is proud of how the 3DSlicer open-source community has grown! [Less]
Posted over 10 years ago by Aashish Chaudhary
** This is the continuation (or improved version) of our previous post  on this topic: http://www.kitware.com/blog/home/post/546.     Introduction VES (http://ves.vtk.org) is VTK for Embedded Systems. It is a C++ rendering library for mobile ... [More] devices using OpenGL ES 2.0. VES integrates with the Visualization Toolkit (VTK) to deliver: Scientific and medical visualization capabilities Remote rendering and/or data hosting Modern/novel/new/collaborative interaction techniques Recently, we made improvements to building VES (specifically KiwiViewer) for Android on Linux and Mac and Windows using CMake and Eclipse. The build procedure requires Android NDK, Android SDK, and Java JDK  to be installed on the system.  VES includes an example application called KiwiViewer.  This blog will describe how to build VES, and then build KiwiViewer. The blog will also cover how to install and setup the correct Android development environment.   Installing the development environment Download and install the Android SDK from here: http://developer.android.com/sdk/index.html. For Windows, you should download and install the ADT Bundle for Windows (a .zip file).  There is no executable installer.  You will just have to unzip this into a directory.  For this example, the file is unzipped o C:/Users/hoffman/android-windows. Also, download and install the NDF from here: http://developer.android.com/tools/sdk/ndk/index.html. You will also need Java JDK as well.  In our setup, it is installed here: c:/Program\ Files\ \(x86\)/Java/. Below are the steps for building VES.   1. Get a copy of VES > git clone git://vtk.org/stage/VES.git > git checkout master   2. Open a VS Command Prompt and then type following commands. > set ANDROID_NDK=c:\Users\hoffman\android-windows\android-ndk-r9   3. Run cmake-gui from command line. > "\Program Files (x86)\CMake 2.8\bin\cmake-gui.exe"   4. Turn on VES_ANDROID_SUPERBUILD   5. Run jom in build directory or nmake if you want to wait.  :) > cd ‘build dir from above’ > \Users\hoffman\jom\jom.exe   6. Build Kiwi. Run cmake-gui on Kiwi, be sure to use toolchain option. > CMAKE_TOOLCHAIN_FILE:FILEPATH=C:/Users/hoffman/Work/VES/CMake/toolchains/android.toolchain.cmake   7. Use the cache it creates. > c:\Users\hoffman\Work\VES4\VES-build\Apps\KiwiAndroid>"\Program Files (x86)\CMake 2.8\bin\cmake-gui.exe" ..\..\..\VES\Apps\Android\Kiwi ANDROID_EXECUTABLE:FILEPATH=C:/Users/hoffman/android-windows/adt-bundle-windows-x86_64-20130917/sdk/tools/android.bat ANT_EXECUTABLE:FILEPATH=C:/Users/hoffman/android-windows/adt-bundle-windows-x86_64-20130917/eclipse/plugins/org.apache.ant_1.8.3.v201301120609/bin/ant.bat You will have to set VTK_DIR and VES_DIR appropriately. Set it to the VES and VTK build directories created by the superbuild. 8. Put javac in the PATH and set JAVA_HOME > set PATH=%PATH%;c:\Program Files (x86)\Java\jdk1.7.0_03/bin > set JAVA_HOME=c:\Program Files (x86)\Java\jdk1.7.0_03   9. Prevent java from running out of memory during compile. > set _JAVA_OPTIONS="-Xmx256M"   11. Run nmake or jom in build tree and then run eclipse from the command line > \Users\hoffman\eclipse\eclipse\eclipse.exe   That’s all to it.  AndroidManifest.xml is only done at configure time, this needs to be moved to build time, so that clean works. On Ubuntu you will need 32 bit libs: http://developer.android.com/sdk/installing/index.html. If you need help installing and configuring Java on your development machine, you might find these resources helpful: https://help.ubuntu.com/community/Java https://help.ubuntu.com/community/JavaInstallation Here are the steps to install Java and Eclipse, prior to installing the Android SDK and ADT Plugin. If you are running a 64-bit distribution on your development machine, you need to install the ia32-libs package using apt-get: > apt-get install ia32-libs Next, install Java. > apt-get install sun-java6-jdk The Ubuntu package manager does not currently offer an Eclipse 3.6 version for download, so we recommend that you download Eclipse from eclipse.org (http://www.eclipse.org/ downloads/). A Java or RCP version of Eclipse is recommended. Follow the steps given in previous sections to install the SDK and the ADT plugin. Information for other platforms.   [Less]
Posted over 10 years ago by Aashish Chaudhary
Introduction VES (http://ves.vtk.org) is VTK for Embedded Systems. It is a C++ rendering library for mobile devices using OpenGL ES 2.0. VES integrates with the Visualization Toolkit (VTK) to deliver: Scientific and medical visualization ... [More] capabilities Remote rendering and/or data hosting Modern/novel/new/collaborative interaction techniques Recently, we made improvements to building VES (specifically KiwiViewer) for Android on Linux and Mac and Windows using CMake and Eclipse. The build procedure requires Android NDK, Android SDK, and Java JDK  to be installed on the system.  VES includes an example application called KiwiViewer.  This blog will describe how to build VES, and then build KiwiViewer. The blog will also cover how to install and setup the correct Android development environment.   Installing the development environment Download and install the Android SDK from here: http://developer.android.com/sdk/index.html. For Windows, you should download and install the ADT Bundle for Windows (a .zip file).  There is no executable installer.  You will just have to unzip this into a directory.  For this example, the file is unzipped o C:/Users/hoffman/android-windows. Also, download and install the NDF from here: http://developer.android.com/tools/sdk/ndk/index.html. You will also need Java JDK as well.  In our setup, it is installed here: c:/Program\ Files\ \(x86\)/Java/. Below are the steps for building VES.   1. Get a copy of VES > git clone git://vtk.org/stage/VES.git > git checkout master   2. Open a VS Command Prompt and then type following commands. > set ANDROID_NDK=c:\Users\hoffman\android-windows\android-ndk-r9   3. Run cmake-gui from command line. > "\Program Files (x86)\CMake 2.8\bin\cmake-gui.exe"   4. Turn on VES_ANDROID_SUPERBUILD   5. Run jom in build directory or nmake if you want to wait.  :) > cd ‘build dir from above’ > \Users\hoffman\jom\jom.exe   6. Build Kiwi. Run cmake-gui on Kiwi, be sure to use toolchain option. > CMAKE_TOOLCHAIN_FILE:FILEPATH=C:/Users/hoffman/Work/VES/CMake/toolchains/android.toolchain.cmake   7. Use the cache it creates. > c:\Users\hoffman\Work\VES4\VES-build\Apps\KiwiAndroid>"\Program Files (x86)\CMake 2.8\bin\cmake-gui.exe" ..\..\..\VES\Apps\Android\Kiwi ANDROID_EXECUTABLE:FILEPATH=C:/Users/hoffman/android-windows/adt-bundle-windows-x86_64-20130917/sdk/tools/android.bat ANT_EXECUTABLE:FILEPATH=C:/Users/hoffman/android-windows/adt-bundle-windows-x86_64-20130917/eclipse/plugins/org.apache.ant_1.8.3.v201301120609/bin/ant.bat You will have to set VTK_DIR and VES_DIR appropriately. Set it to the VES and VTK build directories created by the superbuild. 8. Put javac in the PATH and set JAVA_HOME > set PATH=%PATH%;c:\Program Files (x86)\Java\jdk1.7.0_03/bin > set JAVA_HOME=c:\Program Files (x86)\Java\jdk1.7.0_03   9. Prevent java from running out of memory during compile. > set _JAVA_OPTIONS="-Xmx256M"   11. Run nmake or jom in build tree and then run eclipse from the command line > \Users\hoffman\eclipse\eclipse\eclipse.exe   That’s all to it.  AndroidManifest.xml is only done at configure time, this needs to be moved to build time, so that clean works. On Ubuntu you will need 32 bit libs: http://developer.android.com/sdk/installing/index.html. If you need help installing and configuring Java on your development machine, you might find these resources helpful: https://help.ubuntu.com/community/Java https://help.ubuntu.com/community/JavaInstallation Here are the steps to install Java and Eclipse, prior to installing the Android SDK and ADT Plugin. If you are running a 64-bit distribution on your development machine, you need to install the ia32-libs package using apt-get: > apt-get install ia32-libs Next, install Java. > apt-get install sun-java6-jdk The Ubuntu package manager does not currently offer an Eclipse 3.6 version for download, so we recommend that you download Eclipse from eclipse.org (http://www.eclipse.org/ downloads/). A Java or RCP version of Eclipse is recommended. Follow the steps given in previous sections to install the SDK and the ADT plugin. Information for other platforms.   [Less]
Posted almost 11 years ago by Matt McCormick
Studying examples is an excellent way to learn, especially for scientific software.  The example demonstrates explicitly how a concept works or how a given objective can be achieved. When code is coupled with documentation, all the critical details ... [More] , which are difficult to encapsulate in prose, are immediately evident. Following on the outstanding work by lead David Doria and Bill Lorensen with the highly successful ITK and VTK Wiki Examples, an effort was made to improve the documentation technology for examples. The base platform for the new examples is the Sphinx documentation generation system. The Sphinx tool was originally developed to be the native documentation system for the Python programming language, but it has been widely adopted by many other software documentation efforts, including projects in languages like C++. Sphinx documentation is written in a simple, easy to read and write markup language called reStructuredText. The content in the plain text reStructuredText input can then be rendered into a variety of output formats, such as HTML, PDF, man pages, ePUB, etc. Sphinx has many nice features such as LaTeX equation rendering, code syntax highlighting, elegant output, quick search, extensive cross-referencing and index generation, and it is very extensible. This is the first in a series of articles that describes how Sphinx has been extended to create a powerful example documentation system, the ITK Sphinx Examples. The first feature to discuss is also one of the most important: automated, data-rich, visible acknowledgements via GitStats. Since the examples are developed in a Git repository, they automatically retain all the benefits of distributed version control. One these benefits is authorship metadata including author name, email, commit times, and commit line changes. This metadata is analyzed with the popular GitStats tool. Community member Arnaud Gelas created an output generator for GitStats that creates reStructuredText.  The reStructuredText output is added to the Sphinx documentation, and since there is a clean separation of content and formatting, it integrates nicely with rest of the documentation.  There are overall stats, author-centric statistics, and activity-centric stats in textual, tabular, and graphic forms. These statistics are regenerated automatically on a nightly basis. Enjoy ITK Examples!   [Less]
Posted almost 11 years ago by Matt McCormick
Studying examples is an excellent way to learn, especially for scientific software.  An example demonstrates explicitly how a concept works or how a given objective can be achieved. When code is coupled with documentation, all the critical details ... [More] , which are difficult to encapsulate in prose, are immediately evident. Following on the outstanding work by lead David Doria and Bill Lorensen with the highly successful ITK and VTK Wiki Examples, an effort was made to improve the documentation technology for examples. The base platform for the new examples is the Sphinx documentation generation system. The Sphinx tool was originally developed to be the native documentation system for the Python programming language, but it has been widely adopted by many other software documentation efforts, including projects in languages like C++. Sphinx documentation is written in a simple, easy to read and write markup language called reStructuredText. Content in plain text reStructuredText input can be rendered into a variety of output formats, such as HTML, PDF, man pages, ePUB, etc. Sphinx has many nice features such as LaTeX equation rendering, code syntax highlighting, elegant output, quick search, extensive cross-referencing and index generation, and it is very extensible. This is the first in a series of articles that describes how Sphinx has been extended to create a powerful example documentation system, the ITK Sphinx Examples. The first feature to discuss is also one of the most important: automated, data-rich, visible acknowledgements via GitStats. Since examples are developed in a Git repository, they automatically retain all the benefits of distributed version control. One these benefits is authorship metadata, including author name, email, commit times, and commit line changes. This metadata is analyzed with the popular GitStats tool. Community member Arnaud Gelas created an output generator for GitStats that creates reStructuredText.  The reStructuredText output is added to the Sphinx documentation, and since there is a clean separation of content and formatting, it integrates nicely with rest of the documentation.  There are overall stats, author-centric statistics, and activity-centric stats in textual, tabular, and graphic forms. These statistics are regenerated automatically on a nightly basis. Enjoy ITK Examples!   [Less]
Posted almost 11 years ago by Luis Ibanez
Ten Simple Rules for the Care and Feeding of Scientific Data http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fjournal.pcbi.1003542   Published in   Rule 1. Love Your Data, and Help Others Love It, Too ... [More] Rule 2. Share Your Data Online, with a Permanent Identifier Rule 3. Conduct Science with a Particular Level of Reuse in Mind Rule 4. Publish Workflow as Context Rule 5. Link Your Data to Your Publications as Often as Possible Rule 6. Publish Your Code (Even the Small Bits) Rule 7. State How You Want to Get Credit Rule 8. Foster and Use Data Repositories Rule 9. Reward Colleagues Who Share Their Data Properly Rule 10. Be a Booster for Data Science   [Less]