Skip to content

Commit

Permalink
Added/updated readme, code of conduct, and contributing .md files
Browse files Browse the repository at this point in the history
  • Loading branch information
Kevin-Mattheus-Moerman committed Mar 11, 2017
1 parent 011974d commit 9dc68be
Show file tree
Hide file tree
Showing 3 changed files with 144 additions and 36 deletions.
74 changes: 74 additions & 0 deletions CODE_OF_CONDUCT.md
@@ -0,0 +1,74 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at [gibbon.toolbox@gmail.com]. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [http://contributor-covenant.org/version/1/4][version]

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/gibbon.toolbox@gmail.com
31 changes: 31 additions & 0 deletions CONTRIBUTING.md
@@ -0,0 +1,31 @@
# Contribution Guidelines

## Reporting issues

- **Search for existing issues.** Please check to see if someone else has reported the same issue.
- **Share as much information as possible.** Include operating system and version, browser and version. Also, include steps to reproduce the bug.

## Project Setup

Refer to the [README](README.md).

## Code Style

### Variable Naming
Not all current code follows the conventions below but these will be followed for future developments.
- `lowerCamelCase` General variables
- `UpperCamelCase` Functions
- Maximize the use of semantic and descriptive variables names (e.g. `faceIndices` not `fcInd` or `fi`). Avoid abbreviations except in cases of industry wide usage. In some cases non-descriptive and short variable names are exceptable for instance vertices (points), faces, edges, colors and logic arrays may be denoted `V`, `F`, `E`, `C`, `L`. Furthermore, if a mathematrical symbol or letter is commonly used for some entity it may be acceptable to use short names e.g. coordinates may be referred to as `X`, `Y` and `Z` and image coordinates of indices may be referred to as `I`, `J` and `K`. In some cases the use of capital or non-capital letters refers to tensors/matrices/arrays/sets and scalars/components/subsets respectively, e.g. a multitude of scalars `c` may be contained within an array or matrix `C`, or a cell array `D` may contain individual entries referred to as `d`.

## Testing
For the moment the DEMO_ and HELP_ files may serves as a test suite.

## Pull requests
- Try not to pollute your pull request with unintended changes – keep them simple and small. If possible, squash your commits.
- Try to share how your code has been tested before submitting a pull request.
- If your PR resolves an issue, include **closes #ISSUE_NUMBER** in your commit message (or a [synonym](https://help.github.com/articles/closing-issues-via-commit-messages)).
- Review
- If your PR is ready for review, another contributor will be assigned to review your PR
- The reviewer will accept or comment on the PR.
- If needed address the comments left by the reviewer. Once you're ready to continue the review, ping the reviewer in a comment.
- Once accepted your code will be merged to `master`
75 changes: 39 additions & 36 deletions README.md
@@ -1,36 +1,39 @@
GIBBON
======

The Geometry and Image-Based Bioengineering add-On for MATLAB

See also: http://www.gibboncode.org/

![](http://www.gibboncode.org/wp-content/uploads/2014/05/image121.png)


## Installation
See also: http://www.gibboncode.org/installation/

Follow the steps below. Note: A mltbx file is no longer provided (file changed with each release and so it is not very compatible with GIT/SVN based version control).

1. Add the toolbox folder (e.g. for SVN the patch typically ends in `..\gibbon\trunk`) including subdirectories to the MATLAB path (see MATLAB home tab and the `Add path` button, or see MATLAB help). To permanently add GIBBON to the path save the added path definitions.
2. To integrate the GIBBON help and demonstrations in MATLAB run the function `createHelpDemoDocumentation` (found in the createHelpDoc folder, after adding GIBBON to the path it can be run from the command window).
3. Restart MATLAB to allow it to update help and documentation definitions.
3. To access the help documentation from MATLAB click on the HELP browser then click `Supplemental Software` as shown below.
![](http://www.gibboncode.org/wp-content/uploads/2014/05/helpFront1.png)
This will open the following window showing the toolbox help and documentation integrated into MATLAB:
![](http://www.gibboncode.org/wp-content/uploads/2014/05/helpFront2.png)

GIBBON is now installed and the help and documentation is integrated allong side your default MATLAB help and documentation. The help and documentation is also searchable.

## Setting up third party packages
* **FEBio** FEBio is a finite element package. FEBio is not provided with GIBBON. Install a desired release (see: http://febio.org/) and change the path name to FEBio in the configuration file `FEBioPath.txt`found in the `config` folder. However the config path can also be ignored by always directly specifying the location in the code (see FEBio related demos).
* **TetGen** TetGen is a tetrahedral meshing package. TetGen is provided with GIBBON and can be found in `...\GIBBON\lib_ext\tetGen`. No special treatment should be required to run and use TetGen. If an alternative release is required visit the [TetGen website](http://wias-berlin.de/software/tetgen/), and replace the existing files as desired.
* **export_fig** export_fig is not included with GIBBON. These figure exporting MATLAB tools (used by the GIBBON 'efw' function) can be found on [GitHub](https://github.com/altmany/export_fig) or on [the MathWorks file exchange](http://www.mathworks.com/matlabcentral/fileexchange/23629-export-fig).

## Getting started
* Study the GIBBON folder structure. For example, nottice how the `lib` folder contains all GIBBON's functions and that `lib_ext` contains "external functions" i.e. functions developed by others included with GIBBON. The `html` folder contains the help and documentation .html files which are integrated in MATLAB.
* **Help and documentation** see the installation instructions on accessing the help and documentation. Through the integrated help and documentation the user can explore variations function descriptions and also demo entries. The codes that generate all the help and documention can be found in GIBBON's main folder. **The source for the help information for any function `functionName` is named `HELP_functionName`**, and **The source for demos have `DEMO_` as part of the name**. Therefore if one is interested in reproducing or starting off from codes in the help and documentation simply start typing code names starting in `HELP_` or `DEMO_` in the MATLAB command window, e.g. `HELP_ind2patch` can be used to generate the help information for the `ind2patch` function. Users can start editing the file by typing `open HELP_ind2patch` in the command window. By publishing (MATLAB publish functionality) the HELP_ or DEMO_ files .html files are created in the `html` folder. As such if users alter/contribute code in the `lib` folder and generate associated `HELP_` or `DEMO_` files new help and documentation is added. For new help and documentation to become known and visible to MATLAB run the `createHelpDemoDocumentation` function and restart MATLAB.

## License
https://opensource.org/licenses/BSD-3-Clause

![](http://www.gibboncode.org/wp-content/uploads/2014/05/header1.png)

## Project summary
GIBBON (The Geometry and Image-Based Bioengineering add-On) is an open-source MATLAB toolbox by [Kevin M. Moerman](kevimoerman.org) and includes an array of image and geometry visualization and processing tools and is interfaced with free open source software such as [TetGen](http://wias-berlin.de/software/tetgen/), for robust tetrahedral meshing, and [FEBio](http://febio.org/) for finite element analysis. The combination provides a highly flexible image-based modelling environment and enables advanced inverse finite element analysis.

![](http://www.gibboncode.org/wp-content/uploads/2014/05/Picture1.png)

## Installation
See also: http://www.gibboncode.org/installation/

Follow the steps below. Note: A mltbx file is no longer provided (file changed with each release and so it is not very compatible with GIT/SVN based version control).

1. Add the toolbox folder (e.g. for SVN the patch typically ends in `..\gibbon\trunk`) including subdirectories to the MATLAB path (see MATLAB home tab and the `Add path` button, or see MATLAB help). To permanently add GIBBON to the path save the added path definitions.
2. To integrate the GIBBON help and demonstrations in MATLAB run the function `createHelpDemoDocumentation` (found in the createHelpDoc folder, after adding GIBBON to the path it can be run from the command window).
3. Restart MATLAB to allow it to update help and documentation definitions.
3. To access the help documentation from MATLAB click on the HELP browser then click `Supplemental Software` as shown below.
![](http://www.gibboncode.org/wp-content/uploads/2014/05/helpFront1.png)
This will open the following window showing the toolbox help and documentation integrated into MATLAB:
![](http://www.gibboncode.org/wp-content/uploads/2014/05/helpFront2.png)

GIBBON is now installed and the help and documentation is integrated allong side your default MATLAB help and documentation. The help and documentation is also searchable.

## Setting up third party packages
* **FEBio** FEBio is a finite element package. FEBio is not provided with GIBBON. Install a desired release (see: http://febio.org/) and change the path name to FEBio in the configuration file `FEBioPath.txt`found in the `config` folder. However the config path can also be ignored by always directly specifying the location in the code (see FEBio related demos).
* **TetGen** TetGen is a tetrahedral meshing package. TetGen is provided with GIBBON and can be found in `...\GIBBON\lib_ext\tetGen`. No special treatment should be required to run and use TetGen. If an alternative release is required visit the [TetGen website](http://wias-berlin.de/software/tetgen/), and replace the existing files as desired.
* **export_fig** export_fig is not included with GIBBON. These figure exporting MATLAB tools (used by the GIBBON 'efw' function) can be found on [GitHub](https://github.com/altmany/export_fig) or on [the MathWorks file exchange](http://www.mathworks.com/matlabcentral/fileexchange/23629-export-fig).

## Getting started
* Study the GIBBON folder structure. For example, nottice how the `lib` folder contains all GIBBON's functions and that `lib_ext` contains "external functions" i.e. functions developed by others included with GIBBON. The `html` folder contains the help and documentation .html files which are integrated in MATLAB.
* **Help and documentation** see the installation instructions on accessing the help and documentation. Through the integrated help and documentation the user can explore variations function descriptions and also demo entries. The codes that generate all the help and documention can be found in GIBBON's main folder. **The source for the help information for any function `functionName` is named `HELP_functionName`**, and **The source for demos have `DEMO_` as part of the name**. Therefore if one is interested in reproducing or starting off from codes in the help and documentation simply start typing code names starting in `HELP_` or `DEMO_` in the MATLAB command window, e.g. `HELP_ind2patch` can be used to generate the help information for the `ind2patch` function. Users can start editing the file by typing `open HELP_ind2patch` in the command window. By publishing (MATLAB publish functionality) the HELP_ or DEMO_ files .html files are created in the `html` folder. As such if users alter/contribute code in the `lib` folder and generate associated `HELP_` or `DEMO_` files new help and documentation is added. For new help and documentation to become known and visible to MATLAB run the `createHelpDemoDocumentation` function and restart MATLAB.

## [License (BSD-3-Clause)](https://github.com/Kevin-Mattheus-Moerman/GIBBON/blob/master/LICENSE)

##Contributing
Coming soon

##Roadmap
Coming soon

0 comments on commit 9dc68be

Please sign in to comment.