Skip to content

Commit c6508a7

Browse files
authored
Merge pull request #156 from juaml/release/0.0.1
release: 0.0.1
2 parents 49b17f9 + c939d21 commit c6508a7

File tree

7 files changed

+141
-105
lines changed

7 files changed

+141
-105
lines changed

README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
![Junifer logo](docs/images/junifer_logo.png)
1+
![Junifer logo](docs/images/junifer_logo.png "junifer logo")
22

33
# junifer - JUelich NeuroImaging FEature extractoR
44

@@ -46,6 +46,12 @@ pip install junifer
4646

4747
If you use junifer in a scientific publication, we would appreciate if you cite our work. Currently, we do not have a publication, so feel free to use the project [URL](https://juaml.github.io/junifer).
4848

49+
## Funding
50+
51+
We thank the [Helmholtz Imaging Platform](https://helmholtz-imaging.de/) and
52+
[SMHB](https://www.fz-juelich.de/en/smhb) for supporting development of Junifer.
53+
(The funding sources had no role in the design, implementation and evaluation of the pipeline.)
54+
4955
## Contribution
5056

5157
Contributions are welcome and greatly appreciated. Please read the [guidelines](https://juaml.github.io/junifer/main/contributing.html) to get started.

docs/changes/0.0.1.inc

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
v0.0.1
2+
------
3+
4+
Enhancements
5+
~~~~~~~~~~~~
6+
7+
- Create the repository based on the mockup by `Fede Raimondo`_.
8+
9+
- Implement :class:`junifer.testing.datagrabbers.SPMAuditoryTestingDatagrabber` datagrabber
10+
(:gh:`52` by `Fede Raimondo`_).
11+
12+
- Add comments to :class:`junifer.datagrabber.DataladDataGrabber` datagrabber and change to
13+
use ``datalad-clone`` instead of ``datalad-install`` (:gh:`55` by `Benjamin Poldrack`_).
14+
15+
- Add an example how to use junifer and julearn in one pipeline to extract features
16+
and do machine learning (:gh:`40` by `Leonard Sasse`_, `Nicolas Nieto`_, and `Sami Hamdan`_).
17+
18+
- Implement matrix storage in SQliteFeatureStorage (:gh:`42` by `Fede Raimondo`_).
19+
20+
- Implement :class:`junifer.markers.FunctionalConnectivityParcels` marker for functional
21+
connectivity using a parcellation (:gh:`41` by `Amir Omidvarnia`_ and `Kaustubh R. Patil`_).
22+
23+
- Add documentation for the datagrabbers (by `Leonard Sasse`_,
24+
`Nicolas Nieto`_, and `Sami Hamdan`_).
25+
26+
- Implement coordinate register, list and load (:gh:`11` by `Fede Raimondo`_).
27+
28+
- Add :class:`junifer.datagrabber.DataladAOMICID1000` datagrabber for AOMIC ID1000 dataset
29+
including tests and creation of mock dataset for testing (:gh:`60` by `Vera Komeyer`_, `Xuan Li`_).
30+
31+
- Add support to access other input in the data object in the ``compute`` method
32+
(by `Fede Raimondo`_).
33+
34+
- Implement :class:`junifer.markers.RSSETSMarker` marker (:gh:`51` by `Leonard Sasse`_,
35+
`Nicolas Nieto`_, `Sami Hamdan`_).
36+
37+
- Implement :class:`junifer.markers.SphereAggregation` marker (by `Fede Raimondo`_).
38+
39+
- Implement :class:`junifer.datagrabber.DataladAOMICPIOP1` and
40+
:class:`junifer.datagrabber.DataladAOMICPIOP2` datagrabbers for AOMIC PIOP1 and PIOP2 datasets
41+
respectively and refactor :class:`junifer.datagrabber.DataladAOMICID1000` slightly
42+
(:gh:`94` by `Leonard Sasse`_)
43+
44+
- Implement :class:`junifer.configs.juseless.datagrabbers.JuselessDataladCamCANVBM` datagrabber
45+
(:gh:`99` by `Leonard Sasse`_)
46+
47+
- Implement :class:`junifer.configs.juseless.datagrabbers.JuselessDataladIXIVBM` CAT output
48+
datagrabber for juseless (:gh:`48` by `Leonard Sasse`_).
49+
50+
- Upgrade storage interface for storage-like objects (:gh:`84` by `Synchon Mandal`_).
51+
52+
- Add missing type annotations (:gh:`74` by `Synchon Mandal`_).
53+
54+
- Add ``junifer wtf`` to report environment details (:gh:`33` by `Synchon Mandal`_).
55+
56+
- Add ``junifer selftest`` to report environment details (:gh:`9` by `Synchon Mandal`_).
57+
58+
- Refactor markers ``on`` attribute and ``get_valid_inputs`` to verify that the marker can
59+
be computed on the input data types (by `Fede Raimondo`_)
60+
61+
- Implement :class:`junifer.configs.juseless.datagrabbers.JuselessDataladAOMICID1000VBM`
62+
datagrabber for accessing AOMIC ID1000 VBM from juseless (:gh:`57` by `Felix Hoffstaedter`_
63+
and `Synchon Mandal`_)
64+
65+
- Add test for :class:`junifer.datagrabber.DataladHCP1200` datagrabber (:gh:`93` by `Synchon Mandal`_).
66+
67+
- Change documentation template to furo. Fix references and standardize documentation (:gh:`114` by `Fede Raimondo`_).
68+
69+
- Add :class:`junifer.preprocess.fMRIPrepConfoundRemover` (:gh:`111` by `Fede Raimondo`_ and `Leonard Sasse`_).
70+
71+
- Implement :class:`junifer.markers.CrossParcellationFC` marker (:gh:`85` by `Leonard Sasse`_
72+
and `Kaustubh R. Patil`_)
73+
74+
- Add :class:`junifer.configs.juseless.datagrabbers.JuselessUCLA` datagrabber for the UCLA dataset
75+
available on juseless (:gh:`118` by `Leonard Sasse`_).
76+
77+
- Rename "atlas" to "parcellation" (:gh:`116` by `Fede Raimondo`_).
78+
79+
- Refactor the :class:`junifer.datagrabber.BaseDataGrabber` class to allow for easier subclassing (:gh:`123` by `Fede Raimondo`_).
80+
81+
- Allow custom aggregation method for :class:`junifer.markers.SphereAggregation` (:gh:`102` by `Synchon Mandal`_).
82+
83+
- Add support for "masks" (:gh:`79` by `Fede Raimondo`_).
84+
85+
- Allow :class:`junifer.markers.ParcelAggregation` to apply multiple parcellations at once (:gh:`131` by `Fede Raimondo`_).
86+
87+
- Introduce a singleton decorator for marker computations (:gh:`151` by `Synchon Mandal`_).
88+
89+
- Refactor :class:`junifer.pipeline.PipelineStepMixin` to improve its implementation and validation for pipeline steps
90+
(:gh:`152` by `Synchon Mandal`_).
91+
92+
- Implement :class:`junifer.markers.ReHoParcels` and :class:`junifer.markers.ReHoSpheres` markers (:gh:`36` by `Synchon Mandal`_).
93+
94+
- Implement :class:`junifer.markers.AmplitudeLowFrequencyFluctuationParcels` and
95+
:class:`junifer.markers.AmplitudeLowFrequencyFluctuationSpheres` markers (:gh:`35` by `Fede Raimondo`_).
96+
97+
Bugs
98+
~~~~
99+
100+
- Fix a bug in which a :class:`junifer.datagrabber.PatternDataGrabber` would now work with relative ``datadir`` paths.
101+
(:gh:`96` by `Leonard Sasse`_, fixed in :gh:`98` by `Fede Raimondo`_).
102+
103+
- Fix a bug in which :class:`junifer.datagrabber.DataladAOMICPIOP2` datagrabber did not use user input to
104+
constrain elements based on tasks (:gh:`105` by `Leonard Sasse`_)
105+
106+
- Fix a bug in which a datalad dataset could remove a user-cloned dataset (:gh:`53` by `Fede Raimondo`_)
107+
108+
- Fix a bug in which CLI command would not work using elements with more than one field (by `Fede Raimondo`_).
109+
110+
- Fix a bug in which the generated DAG for HTCondor will not work (:gh:`143` by `Fede Raimondo`_).
111+
112+
API changes
113+
~~~~~~~~~~~
114+
115+
- Change the ``single_output`` default parameter in storage classes from ``False`` to ``True`` (:gh:`134` by `Fede Raimondo`_).

docs/changes/latest.inc

Lines changed: 1 addition & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -14,107 +14,14 @@
1414

1515
.. _current:
1616

17-
Current (0.0.0.dev)
17+
Current (0.0.2.dev)
1818
-------------------
1919

2020
Enhancements
2121
~~~~~~~~~~~~
2222

23-
- Created a the repository based on the mockup by `Fede Raimondo`_.
24-
25-
- Implemented SPM Auditory testing datagrabber X (:gh:`52` by `Fede Raimondo`_).
26-
27-
- Added comments to datalad grabber and changed to use datalad-clone instead of
28-
datalad-install (:gh:`55` by `Benjamin Poldrack`_).
29-
30-
- Added an example how to use junifer and julearn (:gh:`40` by `Leonard Sasse`_,
31-
`Nicolas Nieto`_, and `Sami Hamdan`_) in one pipeline to extract features
32-
and do machine learning.
33-
34-
- Implement matrix storage in SQliteFeatureStorage (:gh:`42` by `Fede Raimondo`_).
35-
36-
- Marker for functional connectivity using a parcellation (:gh:`41` by
37-
`Amir Omidvarnia`_ and `Kaustubh R. Patil`_).
38-
39-
- Added documentation for the datagrabbers (by `Leonard Sasse`_,
40-
`Nicolas Nieto`_, and `Sami Hamdan`_).
41-
42-
- Implement coordinate register, list and load (:gh:`11` by `Fede Raimondo`_).
43-
44-
- Added datagrabber for AOMIC1000 dataset including tests and creation of mock
45-
dataset for testing (:gh:`60` by `Vera Komeyer`_, `Xuan Li`_).
46-
47-
- Added support to access other input in the data object in the `compute` method
48-
(by `Fede Raimondo`_).
49-
50-
- Implemented the edge time series RSS marker (:gh:`51` by `Leonard Sasse`_,
51-
`Nicolas Nieto`_, `Sami Hamdan`_).
52-
53-
- Implement SphereAggregation marker (by `Fede Raimondo`_).
54-
55-
- Implement PIOP1 and PIOP2 AOMIC datasets and refactor AOMICID1000 slightly
56-
(:gh:`94` by `Leonard Sasse`_)
57-
58-
- Implement a JuselessDataladCamCANVBM datagrabber class (:gh:`99` by `Leonard Sasse`_)
59-
60-
- Implement IXI CAT output datagrabber for juseless (:gh:`48` by `Leonard Sasse`_).
61-
62-
- Upgrade storage interface for storage-like objects (:gh:`84` by `Synchon Mandal`_).
63-
64-
- Add missing type annotations (:gh:`74` by `Synchon Mandal`_).
65-
66-
- Add ``junifer wtf`` to report environment details (:gh:`33` by `Synchon Mandal`_).
67-
68-
- Add ``junifer selftest`` to report environment details (:gh:`9` by `Synchon Mandal`_).
69-
70-
- Refactor markers ``on`` attribute and ``get_valid_inputs`` to verify that the marker can be computed on the input data types (by `Fede Raimondo`_)
71-
72-
- Implement JuselessDataladAOMICID1000VBM datagrabber for accessing AOMIC ID 1000 VBM from juseless (:gh:`57` by `Felix Hoffstaedter`_ and `Synchon Mandal`_)
73-
74-
- Add test for DataladHCP1200 datagrabber (:gh:`93` by `Synchon Mandal`_).
75-
76-
- Change documentation template to furo. Fix references and standardize documentation (:gh:`114` by `Fede Raimondo`_).
77-
78-
- Add :class:`junifer.preprocess.fMRIPrepConfoundRemover` (:gh:`111` by `Fede Raimondo`_ and `Leonard Sasse`_).
79-
80-
- Implement CrossParcellationFC marker (:gh:`85` by `Leonard Sasse`_ and `Kaustubh R. Patil`_)
81-
82-
- Add datagrabber implementation for the UCLA dataset available on juseless (:gh:`118` by `Leonard Sasse`_).
83-
84-
- Rename "atlas" to "parcellation" (:gh:`116` by `Fede Raimondo`_).
85-
86-
- Refactor the :class:`junifer.datagrabber.BaseDataGrabber` class to allow for easier subclassing (:gh:`123` by `Fede Raimondo`_).
87-
88-
- Allow custom aggregation method for :class:`junifer.markers.SphereAggregation` (:gh:`102` by `Synchon Mandal`_).
89-
90-
- Add support for "masks" (:gh:`79` by `Fede Raimondo`_).
91-
92-
- Allow :class:`junifer.markers.ParcelAggregation` to apply multiple parcellations at once (:gh:`131` by `Fede Raimondo`_).
93-
94-
- Introduce a singleton decorator for marker computations (:gh:`151` by `Synchon Mandal`_).
95-
96-
- Refactor :class:`junifer.pipeline.PipelineStepMixin` to improve its implementation and validation for pipeline steps
97-
(:gh:`152` by `Synchon Mandal`_).
98-
99-
- Implement :class:`junifer.markers.ReHoParcels` and :class:`junifer.markers.ReHoSpheres` markers (:gh:`36` by `Synchon Mandal`_).
100-
101-
- Implement :class:`junifer.markers.AmplitudeLowFrequencyFluctuationParcels` and :class:`junifer.markers.AmplitudeLowFrequencyFluctuationSpheres` markers (:gh:`35` by `Fede Raimondo`_).
102-
10323
Bugs
10424
~~~~
10525

106-
- Fix a bug in which a PatternDatagrabber would now work with relative `datadir` paths.
107-
(:gh:`96` by `Leonard Sasse`_, fixed in :gh:`98` by `Fede Raimondo`_).
108-
109-
- Fix a bug in which AOMIC PIOP2 datagrabber did not use user input to constrain elements based on tasks (:gh:`105` by `Leonard Sasse`_)
110-
111-
- Fix a bug in which a datalad dataset could remove a user-cloned dataset (:gh:`53` by `Fede Raimondo`_)
112-
113-
- Fix a bug in which CLI command would not work using elements with more than one field (by `Fede Raimondo`_).
114-
115-
- Fix a bug in which the generated DAG for HTCondor will not work (:gh:`143` by `Fede Raimondo`_).
116-
11726
API changes
11827
~~~~~~~~~~~
119-
120-
- Change the ``single_output`` default parameter in storage classes from ``False`` to ``True`` (:gh:`134` by `Fede Raimondo`_).

docs/index.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,11 @@ Indices and tables
4141
* :ref:`genindex`
4242
* :ref:`modindex`
4343
* :ref:`search`
44+
45+
46+
Funding
47+
=======
48+
49+
We thank the `Helmholtz Imaging Platform <https://helmholtz-imaging.de/>`_ and
50+
`SMHB <https://www.fz-juelich.de/en/smhb>`_ for supporting development of Junifer.
51+
(The funding sources had no role in the design, implementation and evaluation of the pipeline.)

docs/installation.rst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,16 +65,16 @@ find a list of all external dependencies that are required for specific markers.
6565
AFNI
6666
----
6767

68-
To install AFNI, you can always follow the `AFNI official instructions
68+
To install AFNI, you can always follow the `AFNI official instructions
6969
<https://afni.nimh.nih.gov/pub/dist/doc/htmldoc/background_install/main_toc.html>`_. Additionally, you can also follow
7070
the following steps to install and configure the AFNI Docker container in your local system.
7171

72-
.. important::
72+
.. important::
7373

74-
The AFNI Docker container wrappers add the commands required by Junifer. Using this commands have
75-
some limitations, mostly related to handling files and paths. Junifer knows about this and uses this
76-
commands in the proper way. Keep this in mind if you try to use the AFNI Docker wrappers outside of junifer. This
77-
caveats and limitations are not documented.
74+
The AFNI Docker container wrappers add the commands required by junifer. Using these commands have
75+
some limitations, mostly related to handling files and paths. Junifer knows about this and uses these
76+
commands in the proper way. Keep this in mind if you try to use the AFNI Docker wrappers outside of junifer.
77+
These caveats and limitations are not documented.
7878

7979
1. Install Docker. You can follow the `Docker official instructions <https://docs.docker.com/get-docker/>`_.
8080
2. Pull the AFNI Docker image from `Docker Hub <https://hub.docker.com/r/afni/afni>`_:
@@ -89,7 +89,7 @@ the following steps to install and configure the AFNI Docker container in your l
8989
9090
junifer setup afni-docker
9191
92-
Take the last line and copy it to your ``.bashrc`` or ``.zshrc`` file.
92+
Take the last line and copy it to your ``.bashrc`` or ``.zshrc`` file.
9393

9494
Or, alternatively, you can exceute this command which will update the ``~/.bashrc`` for you:
9595

docs/maintaining.rst

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ pre-release.
1818

1919
The CI scripts will publish every tag with the format *v.X.Y.Z* to Pypi as
2020
version "X.Y.Z". Additionally, for every push to main, it will be published
21-
as pre-release to TestPypi.
21+
as pre-release to PyPI.
2222

2323
Releasing a new version
2424
-----------------------
@@ -64,4 +64,3 @@ release.
6464
6565
git tag -a vD.E.0.dev -m "Set next release to D.E.0"
6666
git push origin --follow-tags
67-

docs/whats_new.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ What's new
44
==========
55

66
.. include:: changes/latest.inc
7+
.. include:: changes/0.0.1.inc
78
.. include:: changes/contributors.inc
8-
.. include:: links.inc
9+
.. include:: links.inc

0 commit comments

Comments
 (0)