All Projects → InsightSoftwareConsortium → Itksoftwareguide

InsightSoftwareConsortium / Itksoftwareguide

Sources for the ITKSoftwareGuide.

Projects that are alternatives of or similar to Itksoftwareguide

Simpleitk
SimpleITK: a layer built on top of the Insight Toolkit (ITK), intended to simplify and facilitate ITK's use in rapid prototyping, education and interpreted languages.
Stars: ✭ 458 (+2310.53%)
Mutual labels:  segmentation, image-analysis, registration
SuluCommunityBundle
Community features like Login, Registration, Password forget/reset for your sulu application.
Stars: ✭ 20 (+5.26%)
Mutual labels:  community, registration
Free Programming Books Zh cn
📚 免费的计算机编程类中文书籍,欢迎投稿
Stars: ✭ 85,491 (+449852.63%)
Mutual labels:  books, pdf
ANTsR
Advanced Normalization Tools in R
Stars: ✭ 101 (+431.58%)
Mutual labels:  registration, segmentation
Awesome Books
📚 开发者推荐阅读的书籍
Stars: ✭ 2,740 (+14321.05%)
Mutual labels:  books, pdf
Books
Awesome Books
Stars: ✭ 3,242 (+16963.16%)
Mutual labels:  books, pdf
cellfinder
Automated 3D cell detection and registration of whole-brain images
Stars: ✭ 122 (+542.11%)
Mutual labels:  registration, image-analysis
Books Pdf
books pdf
Stars: ✭ 1,149 (+5947.37%)
Mutual labels:  books, pdf
Slicer
Multi-platform, free open source software for visualization and image computing.
Stars: ✭ 263 (+1284.21%)
Mutual labels:  segmentation, registration
Dipy
DIPY is the paragon 3D/4D+ imaging library in Python. Contains generic methods for spatial normalization, signal processing, machine learning, statistical analysis and visualization of medical images. Additionally, it contains specialized methods for computational anatomy including diffusion, perfusion and structural imaging.
Stars: ✭ 417 (+2094.74%)
Mutual labels:  segmentation, registration
Mybooks
books-tech、PPT、or something
Stars: ✭ 178 (+836.84%)
Mutual labels:  books, pdf
Booktype
Booktype is a free, open source platform that produces beautiful, engaging books formatted for print, Amazon, iBooks and almost any ereader within minutes.
Stars: ✭ 810 (+4163.16%)
Mutual labels:  books, pdf
Cs Books Pdf
编程电子书pdf,计算机常用电子书整理(高质量/附下载链接)包括 Java, Python, Linux, Go, C, C++, 数据结构与算法, AI人工智能, 计算机基础, 面试, 设计模式, 数据库, 前端等编程书籍。
Stars: ✭ 140 (+636.84%)
Mutual labels:  books, pdf
Cs Books
📚 Computer Science Books 计算机技术类书籍 PDF
Stars: ✭ 2,915 (+15242.11%)
Mutual labels:  books, pdf
Markdownslides
MarkdownSlides is a Reveal.js and PDF slides generator from MARKDOWN files, that also generate HTML, EPUB and DOCX documents. The idea is that from a same MARKDOWN file we can get slides and books without worrying about style, just worrying about content.
Stars: ✭ 121 (+536.84%)
Mutual labels:  books, pdf
MITK-Diffusion
MITK Diffusion - Official part of the Medical Imaging Interaction Toolkit
Stars: ✭ 47 (+147.37%)
Mutual labels:  registration, segmentation
Elixirbooks
List of Elixir books
Stars: ✭ 1,021 (+5273.68%)
Mutual labels:  books, pdf
Knowledge Base
pdf,txt,djvu, various useful books
Stars: ✭ 63 (+231.58%)
Mutual labels:  books, pdf
DICOMautomaton
A multipurpose tool for medical physics.
Stars: ✭ 35 (+84.21%)
Mutual labels:  registration, image-analysis
Cilantro
A lean C++ library for working with point cloud data
Stars: ✭ 577 (+2936.84%)
Mutual labels:  segmentation, registration

ITK Software Guide

Build

This ITK Software Guide is the handbook for developing software with ITK.

It is divided into two companion books.

The first book covers building and installation, general architecture and design, as well as the process of contributing in the ITK community.

The second book covers detailed design and functionality for reading and writing images, filtering, registration, segmentation, and performing statistical analysis.

This repository contains the source code for the Software Guide.

How to Contribute to the ITK Software Guide

Contributions are welcome and appreciated!

Contribution Process Overview

The following commands illustrate patch submission to GitHub:

   $ git clone https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide.git
   $ cd ITKSoftwareGuide
   $ ./Utilities/SetupForDevelopment.sh
   $ git checkout -b my-topic
   # make changes to local file(s)
   $ git add -- changedFileName
   $ git commit
   $ git review-push

Contribution Details

For more detailed instructions, see the CONTRIBUTING.md file.

Building with Docker

All the dependencies described belowe are available pre-installed in a Docker image. This is the easiest way to build and contribute to The Software Guide.

  1. Download and install Docker.
  2. From a shell, run
docker run --name software-guide -p 8888:8888 insighttoolkit/itksoftwareguide-edit:latest
  1. Open the URL provided in the ternmial output in a web browser. In the web interface, open a Terminal
  2. To setup the repository for develop and build the project, run:
ssh-keygen
cat ~/.ssh/id_rsa.pub
# Paste this value into https://github.com/settings/keys
cd /ITKSoftwareGuide
./Utilities/SetupForDevelopment.sh
cd /ITKSoftwareGuide-build/ITKSoftwareGuide-build
ninja
  1. To view the built PDF's, navigate to /ITKSoftwareGuide-build/ITKSoftwareGuide-build/SoftwareGuide/Latex/, and double click on the PDF.
  2. Contribute as described in CONTRIBUTING.md.
  3. To restart the container, run docker start software-guide.

Build Overview

A combination of CMake Superbuild infrastructure, Python extraction scripts, and LaTeX formatting are required to render the entire ITK Software Guide.

CMakeLists.txt files are placed in the directories involved on the build process. As any other CMake-managed process, the results of the build process are put in a binary tree corresponding to the source tree.

The following dependencies are required to build ITK Software Guide on Linux or Windows platforms:

ITK Software Guide is generated with Latex by using input from a variety of source code files and images:

  1. LaTeX files found in ./SoftwareGuide/Latex.
  2. JPEG, PNG and EPS files in ./SoftwareGuide/Art.
  3. PNG files generated as the result of compiling and running the examples included in the ITK source code.
  4. ITK examples source code .cxx files where the comments delimited with BeginLaTeX, EndLaTeX and BeginCodeSnippet, EndCodeSnippet have been written specifically to be included in the ITK Software Guide; the regular LaTeX files in ./SoftwareGuide/Latex include the LaTeX files generated from the ITK examples source code.

Following is a brief description of the build process:

  1. The source code of ITK is downloaded and built (including ITK examples) in the binary output directory.
  2. JPEG and PNG files in the ./SoftwareGuide/Art directory are converted to EPS using ImageMagick tools; the resulting EPS files are saved in the Art directory in the binary output directory.
  3. PNG files are generated by running ITK examples and converted to EPS using ImageMagick; the resulting EPS files are saved in Art/Generated directory of the binary output directory.
  4. A Python script ./SoftwareGuide/Examples/ParseCxxExamples.py is invoked to extract the comments in the ITK examples source file delimited with BeginLaTeX, EndLaTeX and BeginCodeSnippet, EndCodeSnippet and generate LaTeX files which are copied into the Examples subdirectory of the binary output directory.
  5. The top-level LaTeX file ./SoftwareGuide/LaTeX/ITKSoftwareGuide-Book1.tex is compiled with a series of calls to latex, bibtex, latex, makeindex,dvips, and ps2pdf to generate the PDF file.

Configuring and Building with CMake

Following is the description how to configure and build ITK Software Guide using CMake:

  1. Run cmake-gui and specify input and binary output directories. Alternatively, create the binary output directory and run
   $ ccmake source_dir

where source_dir is the full path of the ITKSoftwareGuide directory. 2. Configure and generate the project for the target platform. 3. Build SuperBuild\_ITKSoftwareGuide project as appropriate for the target platform.

Troubleshooting

  1. Build process will fail if CMake is unable to locate any of the dependencies. In this case a close examination of the error messages might provide a clue as to which dependency is failing.

  2. Frustrated by the build taking a long time to complete ... no solution here 😊.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].