Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DOC] Governance update #615

Merged
merged 47 commits into from
Dec 8, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
a84275d
Added GovernanceSteeringDraft
handwerkerd Oct 20, 2020
7053660
Cleaning up governance text
handwerkerd Oct 20, 2020
6a7d90f
cleaning up hyperlinks
handwerkerd Oct 20, 2020
a076998
Added project scope
handwerkerd Oct 20, 2020
305a5d0
typo fix
handwerkerd Oct 20, 2020
33d13c2
typo fix
handwerkerd Oct 20, 2020
f5ed9db
Update docs/governance.rst typo fix
handwerkerd Oct 20, 2020
1843e2c
Update docs/governance.rst opening sentence
handwerkerd Oct 21, 2020
361b264
Update docs/governance.rst typo correction
handwerkerd Oct 21, 2020
bae82f9
Update docs/governance.rst contributors can review PR
handwerkerd Oct 21, 2020
a01f516
Update docs/governance.rst community review PR2
handwerkerd Oct 21, 2020
1bed00e
Signif restructure based on PR feedback
handwerkerd Oct 22, 2020
40b1bd3
Update docs/governance.rst typo fix
handwerkerd Oct 22, 2020
b983b22
Update docs/governance.rst rewording
handwerkerd Oct 22, 2020
bfc4cbe
Update docs/governance.rst rewording
handwerkerd Oct 22, 2020
84b06a1
Update docs/governance.rst typo
handwerkerd Oct 22, 2020
d623cd6
Update docs/governance.rst typo
handwerkerd Oct 22, 2020
fe43033
Update docs/governance.rst typo
handwerkerd Oct 22, 2020
a525512
Update docs/governance.rst rewording
handwerkerd Oct 22, 2020
8374271
Update docs/governance.rst rewording
handwerkerd Oct 22, 2020
5082db5
Update docs/governance.rst typo
handwerkerd Oct 22, 2020
efd8777
Update docs/governance.rst typo
handwerkerd Oct 22, 2020
4a17815
Update docs/governance.rst typo
handwerkerd Oct 22, 2020
3a74a82
Update docs/governance.rst typo
handwerkerd Oct 22, 2020
8d4a591
Update docs/governance.rst rewording
handwerkerd Oct 22, 2020
01e4342
Update docs/governance.rst typo
handwerkerd Oct 22, 2020
706c91d
fixing typos in governance.rst
handwerkerd Oct 22, 2020
592230e
Rewording edits in contributing.rst and governance.rst
handwerkerd Oct 26, 2020
1aa40a1
Apply suggestions from code review
handwerkerd Nov 19, 2020
475c80c
Update docs/governance.rst added tentative steering committee
handwerkerd Nov 19, 2020
c7afe12
Apply suggestions from code review
handwerkerd Nov 23, 2020
ff7f48b
Adds steering committee link
Nov 23, 2020
aeddf22
Merge branch 'GovernanceUpdate' of github.com:handwerkerd/tedana into…
Nov 23, 2020
0e43a1f
Fix accidental heading
Nov 23, 2020
504420a
Fixes missing CoC link
Nov 23, 2020
010a205
Add @smoia as a CoC enforcer
Nov 23, 2020
663f9ad
Shortened line length and fixed typos
Nov 24, 2020
21fe0c9
Fixes rst mistakes from myself
Nov 24, 2020
d1cc31f
Fixes missing colons
Nov 24, 2020
da65abf
Removes trailing whitespace
Nov 24, 2020
5b12ae6
Fixes periods and whitespace in roadmap.rst
Nov 24, 2020
0bbf8cf
Text cleaning. Removed Kirstie as a maintainer
handwerkerd Nov 24, 2020
205a92c
Apply suggestions from code review
handwerkerd Nov 25, 2020
78cf9e8
Apply suggestions from code review
handwerkerd Dec 6, 2020
28865e6
Update docs/contributing.rst
handwerkerd Dec 6, 2020
db1aab6
Apply suggestions from code review
handwerkerd Dec 7, 2020
0a13103
Fix warnings in html make
Dec 7, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
149 changes: 112 additions & 37 deletions docs/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,46 +8,121 @@ For a more practical guide to the tedana development, please see our

.. _contributing guide: https://github.com/ME-ICA/tedana/blob/master/CONTRIBUTING.md

.. _governance:

Governance
----------

Governance is a hugely important part of any project.
It is especially important to have clear process and communication channels
for open source projects that rely on a distributed network of volunteers, such as ``tedana``.

``tedana`` is currently supported by a small group of five core developers.
Even with only five members involved in decision making processes,
we've found that setting expectations and communicating a shared vision has great value.

By starting the governance structure early in our development,
we hope to welcome more people into the contributing team.
We are committed to continuing to update the governance structures as necessary.
Every member of the ``tedana`` community is encouraged to comment on these processes and suggest improvements.

As the first interim `Benevolent Dictator for Life (BDFL)`_,
Elizabeth DuPre is ultimately responsible for any major decisions pertaining to ``tedana`` development.
However, all potential changes are explicitly and openly discussed in the described channels of
communication, and we strive for consensus amongst all community members.

.. _Benevolent Dictator for Life (BDFL): https://en.wikipedia.org/wiki/Benevolent_dictator_for_life

Code of conduct
```````````````

All ``tedana`` community members are expected to follow our `code of conduct`_
during any interaction with the project.
All ``tedana`` community members are expected to follow our code of conduct
during any interaction with the project. `The full code of conduct is here`_.
That includes---but is not limited to---online conversations,
in-person workshops or development sprints, and when giving talks about the software.

As stated in the code, severe or repeated violations by community members may result in exclusion
from collective decision-making and rejection of future contributions to the ``tedana`` project.

.. _code of conduct: https://github.com/ME-ICA/tedana/blob/master/CODE_OF_CONDUCT.md
.. _The full code of conduct is here: https://github.com/ME-ICA/tedana/blob/master/CODE_OF_CONDUCT.md

Scope of tedana
```````````````
tedana is a collection of tools, software and a community related to echo time
(TE) dependent analyses. The umbrella of tedana covers a number of overlapping,
but somewhat distinct, ideas related to multi-echo analysis. This scope includes
collecting multi-echo data (Acquisition), combining those echoes together
(Combination), with optional noise removal (Denoising), inspecting the outputs
(Visualization) and answering multi-echo related questions (Community). In
general, tedana accepts previously preprocessed data to produce outputs that
are ready for further analyses.

Acquisition
-----------

While the development of multi-echo sequences is beyond the current scope
of tedana, the tedana community is committed to providing guidelines on current
multi-echo implementations. This will include both specific instructions for
how to collect multi-echo data for multiple vendors as well as details about
what types of data have been collected thus far. These details are subject to
change, and are intended to provide users with an idea of what is possible,
rather than definitive recommendations.

Our focus is on functional MRI, including both magnitude and phase data,
however we understand that quantitative mapping has the potential to aid in
data processing. Thus, we believe that some details on non-functional MRI
acquisitions, such as detailed T2* mapping, may fall within the scope of
tedana.
Acquisition related details can be found in the `tedana Documentation.`_

.. _tedana Documentation.: https://tedana.readthedocs.io/en/latest/acquisition.html

Combining echoes
----------------

An early step in processing data collected with multiple echoes is the
combination of the data into a single time series. We currently implement
multiple options to combine multi-echo data and will add more as they continue
to be developed. This is an area of active development and interest.
jbteves marked this conversation as resolved.
Show resolved Hide resolved

Denoising
---------

tedana was developed out of a package known as `multi-echo ICA, ME-ICA, or MEICA`_
developed by Dr. Prantik Kundu. Though the usage of ICA for classification of
signal vs noise components has continued in tedana, this is not a rule. The
tedana community is open and encouraging of new denoising methods, whether or not they
have a basis in ICA.

Specifically, we are interested in any method that seeks to use the information from multiple
echoes to identify signal (defined here as BOLD signals arising from neural
processing) and noise (defined here as changes unrelated to neural
processing, such as motion, cardiac, respiration).

tedana is primarily intended to work on volume data, that is, data that is
still in structured voxel space. This is because several of the currently used denoising metrics rely on spatial continuity, and they have not yet been updated to consider continuity over cortical vertices.
Therefore, surface-based denoising is not currently
within the scope of tedana, but code could be written so that it is a
possible option in the future.

Currently tedana works on a single subject, run by run basis; however, methods
that use information across multiple runs are welcome.

.. _`multi-echo ICA, ME-ICA, or MEICA`: https://github.com/ME-ICA/me-ica

Visualization
-------------

As part of the processing stream, tedana provides figures and an
HTML-based report for inspecting results. These are intended to help
users understand the outputs from tedana and diagnose problems. Though a
comprehensive viewer (such as fsleyes) is outside of the scope of tedana, we
will continue to improve the reports and add new information as needed.

Community
---------

tedana is intended to be a community of multi-echo users. The primary resource
is the github repository and related documentation. In addition, the tedana
group will attempt to answer multi-echo related questions on NeuroStars
(`multi-echo tag <https://neurostars.org/tag/multi-echo>`_ or
`tedana tag <https://neurostars.org/tag/tedana>`_).

What tedana isn’t
-----------------

While the list of things that do not fall under the scope of tedana are
infinite, it is worth mentioning a few points:

- tedana will not offer a GUI for usage
- it is intended to be either a stand
alone processing package or serve as a processing step as part of a larger
package (i.e. fmriprep or afni_proc.py).
- tedana will not provide basic preprocessing steps, such as motion correction
or slice timing correction. While these were previously part of the ME-ICA
pipeline, the sheer variety of possible choices, guidelines and data types
precludes including it within the tedana package.
- tedana will not provide statistical analyses in the form of general linear models,
connectivity or decoding. Though multi-echo data is amenable to all methods
of analysis, these methods will not be included in the tedana package.

tedana's development philosophy
--------------------------------------
```````````````````````````````

In contributing to any open source project,
we have found that it is hugely valuable to understand the core maintainers' development philosophy.
Expand All @@ -65,7 +140,7 @@ These are:
.. _exposing options to the user:

Which options are available to users?
`````````````````````````````````````
-------------------------------------

The ``tedana`` developers are committed to providing useful and interpretable outputs
for a majority of use cases.
Expand Down Expand Up @@ -104,7 +179,7 @@ listed on the ``tedana`` :ref:`support_ref` page.
.. _prioritizing project developments:

Structuring project developments
````````````````````````````````
--------------------------------

The ``tedana`` developers have chosen to structure ongoing development around specific goals.
When implemented successfully, this focuses the direction of the project and helps new contributors
Expand All @@ -129,7 +204,7 @@ This allows us to:
.. _backwards compatibility with meica:

Is ``tedana`` backwards compatible with MEICA?
``````````````````````````````````````````````
----------------------------------------------

The short answer is No.

Expand Down Expand Up @@ -158,7 +233,7 @@ If you'd like to use MEICA as has been previously published the code is availabl
.. _future-proofing for continuous development:

How does ``tedana`` future-proof its development?
`````````````````````````````````````````````````
-------------------------------------------------

``tedana`` is a reasonably young project that is run by volunteers.
No one involved in the development is paid for their time.
Expand All @@ -179,7 +254,7 @@ applicable in the future as other needs arise.
.. _when to release new software versions:

When to release a new version
`````````````````````````````
-----------------------------

In the broadest sense, we have adopted a "you know it when you see it" approach
to releasing new versions of the software.
Expand All @@ -203,13 +278,13 @@ Any member of the ``tedana`` community can propose that a new version is releas
They should do so by opening an issue recommending a new release and giving a
1-2 sentence explanation of why the changes are sufficient to update the version.
More information about what is required for a release to proceed is available
in the :ref:`release checklist`.
in the :ref:`release-checklist`.


.. _release checklist:
.. _release-checklist:

Release Checklist
"""""""""""""""""
-----------------

This is the checklist of items that must be completed when cutting a new release of tedana.
These steps can only be completed by a project maintainer, but they are a good resource for
Expand Down
Loading