Skip to content

Commit ec2850f

Browse files
committed
STYLE: Convert README from reStructuredText to Markdown
With pandoc. First step towards breaking up the ITKModuleTemplate documentation into multiple files and adding documentation on how to configure Azure Pipelines for CI / CD.
1 parent b0d1d9d commit ec2850f

File tree

2 files changed

+129
-131
lines changed

2 files changed

+129
-131
lines changed

README.md

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
ITKModuleTemplate
2+
=================
3+
4+
[![Build Status](https://dev.azure.com/InsightSoftwareConsortium/ITKModules/_apis/build/status/InsightSoftwareConsortium.ITKModuleTemplate?branchName=master)](https://dev.azure.com/InsightSoftwareConsortium/ITKModules/_build/latest?definitionId=19&branchName=master)
5+
6+
Overview
7+
--------
8+
9+
This is a module for the [Insight Toolkit (ITK)](http://itk.org) for
10+
segmentation and registration. It is designed to work with the ITK
11+
modular system.
12+
13+
This module is a template to be used as a starting point for a new ITK
14+
module.
15+
16+
Getting Started
17+
---------------
18+
19+
The following will get an external module started in a new repository:
20+
21+
python -m pip install cookiecutter
22+
python -m cookiecutter gh:InsightSoftwareConsortium/ITKModuleTemplate
23+
# Fill in the information requested at the prompts
24+
25+
Reasonable defaults will be provided for all of the parameters. The
26+
parameters are:
27+
28+
*full\_name*
29+
Your full name.
30+
31+
*email*
32+
Your email.
33+
34+
*project\_name*
35+
This is a name for the project, which is *ITK* followed by the module
36+
name, by convention. Examples include *ITKIsotropicWavelets* or
37+
*ITKBoneMorphometry*.
38+
39+
*module\_name*
40+
This is the name of the module. Since this is an external module, it
41+
does not start with the *ITK* prefix. It is in CamelCase, by convention.
42+
Examples include *IsotropicWavelets* and *BoneMorphometry*.
43+
44+
*filter\_name*
45+
The skeleton of an `itk::ImageToImageFilter` will be created by default.
46+
Optionally specify this value, if you will be adding an
47+
`itk::ImageToImageFilter` to your module.
48+
49+
*python\_package\_name*
50+
This is the name of the Python package that will be created from the
51+
module. By convention, this is *itk-\<project\_name in lower case\>*.
52+
For example, *itk-isotropicwavelets* or *itk-bonemorphometry*.
53+
54+
*download\_url*
55+
This is the download url added to the Python package metadata. This can
56+
be the GitHub repository URL.
57+
58+
*project\_short\_description*
59+
A short description to use in the project README, module Doxygen
60+
documentation, and Python package documentation.
61+
62+
*project\_long\_description*
63+
A long description to use in the project README, module Doxygen
64+
documentation, and Python package documentation.
65+
66+
The output of the cookiecutter is a buildable ITK external module with
67+
example classes. Remove or replace the classes with your new classes.
68+
Push your new module to GitHub, and enable builds on
69+
[CircleCI](https://circleci.com/), [TravisCI](https://travis-ci.org/),
70+
and [AppVeyor](https://www.appveyor.com/).
71+
72+
Documentation on [how to populate the
73+
module](https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1ch9.html#x50-1430009)
74+
can be found in the [ITK Software
75+
Guide](https://itk.org/ITKSoftwareGuide/html/).
76+
77+
To improve the discoverability of your module on GitHub, first push the
78+
associated repository, then add
79+
[itk-module](https://github.com/topics/itk-module) to the project's
80+
[GitHub Topics](https://help.github.com/articles/about-topics/) .
81+
82+
Remote Module
83+
-------------
84+
85+
After an [Insight Journal](http://www.insight-journal.org/) article has
86+
been submitted, the module can be included in ITK as a [remote
87+
module](https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1ch9.html#x55-1640009.7).
88+
Add a file in "ITK/Modules/Remote" called "YourModule.remote.cmake", for
89+
this module it would be "ExternalExample.remote.cmake" with the
90+
followlowing contents:
91+
92+
itk_fetch_module(MyModule
93+
"A description of the a module."
94+
GIT_REPOSITORY http://github.com/myuser/ITKMyModule.git
95+
GIT_TAG abcdef012345
96+
)
97+
98+
Python Packages
99+
---------------
100+
101+
Continuous integration service configurations are included to build
102+
Python packages for Linux, macOS, and Windows. These packages can be
103+
[downloaded](https://itkpythonpackage.readthedocs.io/en/latest/Build_ITK_Module_Python_packages.html#github-automated-ci-package-builds)
104+
and [uploaded to the Python Package Index
105+
(PyPI)](https://itkpythonpackage.readthedocs.io/en/latest/Build_ITK_Module_Python_packages.html#upload-the-packages-to-pypi).
106+
107+
ITKv4 Branch
108+
------------
109+
110+
In the transition to the major release of ITKv5 your module might want
111+
to be compatible with both versions: ITKv4 and ITKv5. In order to do
112+
that, keep the master branch for development with ITKv5, and create
113+
another branch, named `ITKv4`, or `release`, that is compatible with the
114+
version 4.13 of ITK. For examples and updated information on how to do
115+
this: please [check the discourse
116+
conversation](https://discourse.itk.org/t/itk-external-module-github-builds-for-4-x-and-5-x/900).
117+
118+
License
119+
-------
120+
121+
This software is distributed under the Apache 2.0 license. Please see
122+
the *LICENSE* file for details.
123+
124+
Authors
125+
-------
126+
127+
- Bradley Lowekamp
128+
- Matt McCormick
129+
- Jean-Baptiste VIMORT

README.rst

Lines changed: 0 additions & 131 deletions
This file was deleted.

0 commit comments

Comments
 (0)