junifer 0.0.5.dev27__py3-none-any.whl → 0.0.5.dev36__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. junifer/_version.py +2 -2
  2. junifer/api/__init__.py +1 -1
  3. junifer/api/cli.py +65 -1
  4. junifer/api/functions.py +41 -0
  5. junifer/api/queue_context/__init__.py +1 -1
  6. junifer/api/tests/test_cli.py +83 -0
  7. junifer/api/tests/test_functions.py +27 -2
  8. junifer/configs/__init__.py +1 -1
  9. junifer/configs/juseless/__init__.py +1 -1
  10. junifer/configs/juseless/datagrabbers/__init__.py +1 -1
  11. junifer/data/__init__.py +1 -1
  12. junifer/data/coordinates.py +1 -1
  13. junifer/data/masks.py +1 -1
  14. junifer/data/parcellations.py +1 -1
  15. junifer/data/template_spaces.py +1 -1
  16. junifer/datagrabber/__init__.py +1 -1
  17. junifer/datareader/__init__.py +1 -1
  18. junifer/external/__init__.py +1 -1
  19. junifer/external/nilearn/__init__.py +1 -1
  20. junifer/markers/__init__.py +1 -1
  21. junifer/onthefly/__init__.py +1 -1
  22. junifer/pipeline/__init__.py +1 -1
  23. junifer/preprocess/__init__.py +1 -1
  24. junifer/stats.py +1 -1
  25. junifer/storage/__init__.py +1 -1
  26. junifer/testing/__init__.py +1 -1
  27. junifer/testing/datagrabbers.py +1 -1
  28. junifer/utils/__init__.py +1 -1
  29. {junifer-0.0.5.dev27.dist-info → junifer-0.0.5.dev36.dist-info}/METADATA +1 -1
  30. {junifer-0.0.5.dev27.dist-info → junifer-0.0.5.dev36.dist-info}/RECORD +35 -35
  31. {junifer-0.0.5.dev27.dist-info → junifer-0.0.5.dev36.dist-info}/AUTHORS.rst +0 -0
  32. {junifer-0.0.5.dev27.dist-info → junifer-0.0.5.dev36.dist-info}/LICENSE.md +0 -0
  33. {junifer-0.0.5.dev27.dist-info → junifer-0.0.5.dev36.dist-info}/WHEEL +0 -0
  34. {junifer-0.0.5.dev27.dist-info → junifer-0.0.5.dev36.dist-info}/entry_points.txt +0 -0
  35. {junifer-0.0.5.dev27.dist-info → junifer-0.0.5.dev36.dist-info}/top_level.txt +0 -0
junifer/_version.py CHANGED
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.0.5.dev27'
16
- __version_tuple__ = version_tuple = (0, 0, 5, 'dev27')
15
+ __version__ = version = '0.0.5.dev36'
16
+ __version_tuple__ = version_tuple = (0, 0, 5, 'dev36')
junifer/api/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
- """Provide imports for api sub-package."""
1
+ """Public API and CLI components."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
4
  # Synchon Mandal <s.mandal@fz-juelich.de>
junifer/api/cli.py CHANGED
@@ -8,7 +8,7 @@ import pathlib
8
8
  import subprocess
9
9
  import sys
10
10
  from pathlib import Path
11
- from typing import Dict, List, Tuple, Union
11
+ from typing import Dict, List, Optional, Tuple, Union
12
12
 
13
13
  import click
14
14
  import pandas as pd
@@ -20,6 +20,7 @@ from ..utils.logging import (
20
20
  warn_with_log,
21
21
  )
22
22
  from .functions import collect as api_collect
23
+ from .functions import list_elements as api_list_elements
23
24
  from .functions import queue as api_queue
24
25
  from .functions import reset as api_reset
25
26
  from .functions import run as api_run
@@ -451,6 +452,69 @@ def reset(
451
452
  api_reset(config)
452
453
 
453
454
 
455
+ @cli.command()
456
+ @click.argument(
457
+ "filepath",
458
+ type=click.Path(
459
+ exists=True, readable=True, dir_okay=False, path_type=pathlib.Path
460
+ ),
461
+ )
462
+ @click.option("--element", type=str, multiple=True)
463
+ @click.option(
464
+ "-o",
465
+ "--output-file",
466
+ type=click.Path(dir_okay=False, writable=True, path_type=pathlib.Path),
467
+ )
468
+ @click.option(
469
+ "-v",
470
+ "--verbose",
471
+ type=click.UNPROCESSED,
472
+ callback=_validate_verbose,
473
+ default="info",
474
+ )
475
+ def list_elements(
476
+ filepath: click.Path,
477
+ element: Tuple[str],
478
+ output_file: Optional[click.Path],
479
+ verbose: Union[str, int],
480
+ ) -> None:
481
+ """Element listing command for CLI.
482
+
483
+ \f
484
+
485
+ Parameters
486
+ ----------
487
+ filepath : click.Path
488
+ The filepath to the configuration file.
489
+ element : tuple of str
490
+ The element to operate on.
491
+ output_file : click.Path or None
492
+ The path to write the output to. If not None, writing to
493
+ stdout is not performed.
494
+ verbose : click.Choice
495
+ The verbosity level: warning, info or debug (default "info").
496
+
497
+ """
498
+ configure_logging(level=verbose)
499
+ # Parse YAML
500
+ config = parse_yaml(filepath) # type: ignore
501
+ # Fetch datagrabber
502
+ datagrabber = config["datagrabber"]
503
+ # Parse elements
504
+ elements = _parse_elements(element, config)
505
+ # Perform operation
506
+ listed_elements = api_list_elements(
507
+ datagrabber=datagrabber,
508
+ elements=elements,
509
+ )
510
+ # Check if output file is provided
511
+ if output_file is not None:
512
+ output_file.touch()
513
+ output_file.write_text(listed_elements)
514
+ else:
515
+ click.secho(listed_elements, fg="blue")
516
+
517
+
454
518
  @cli.group()
455
519
  def setup() -> None: # pragma: no cover
456
520
  """Configure commands for Junifer."""
junifer/api/functions.py CHANGED
@@ -361,3 +361,44 @@ def reset(config: Dict) -> None:
361
361
  shutil.rmtree(job_dir)
362
362
  # Remove directory
363
363
  job_dir.parent.rmdir()
364
+
365
+
366
+ def list_elements(
367
+ datagrabber: Dict,
368
+ elements: Union[str, List[Union[str, Tuple]], Tuple, None] = None,
369
+ ) -> str:
370
+ """List elements of the datagrabber filtered using `elements`.
371
+
372
+ Parameters
373
+ ----------
374
+ datagrabber : dict
375
+ DataGrabber to index. Must have a key ``kind`` with the kind of
376
+ DataGrabber to use. All other keys are passed to the DataGrabber
377
+ constructor.
378
+ elements : str or tuple or list of str or tuple, optional
379
+ Element(s) to filter using. Will be used to index the DataGrabber
380
+ (default None).
381
+
382
+ """
383
+ # Get datagrabber to use
384
+ datagrabber_object = _get_datagrabber(datagrabber)
385
+
386
+ # Fetch elements
387
+ raw_elements_to_list = []
388
+ with datagrabber_object:
389
+ if elements is not None:
390
+ for element in datagrabber_object.filter(elements):
391
+ raw_elements_to_list.append(element)
392
+ else:
393
+ for element in datagrabber_object:
394
+ raw_elements_to_list.append(element)
395
+
396
+ elements_to_list = []
397
+ for element in raw_elements_to_list:
398
+ # Stringify elements if tuple for operation
399
+ str_element = (
400
+ ",".join(element) if isinstance(element, tuple) else element
401
+ )
402
+ elements_to_list.append(str_element)
403
+
404
+ return "\n".join(elements_to_list)
@@ -1,4 +1,4 @@
1
- """Provide imports for queue context sub-package."""
1
+ """Context adapters for queueing."""
2
2
 
3
3
  # Authors: Synchon Mandal <s.mandal@fz-juelich.de>
4
4
  # License: AGPL
@@ -14,6 +14,7 @@ from ruamel.yaml import YAML
14
14
  from junifer.api.cli import (
15
15
  _parse_elements_file,
16
16
  collect,
17
+ list_elements,
17
18
  queue,
18
19
  reset,
19
20
  run,
@@ -297,6 +298,88 @@ def test_reset(
297
298
  assert reset_result.exit_code == 0
298
299
 
299
300
 
301
+ @pytest.mark.parametrize(
302
+ "elements",
303
+ [
304
+ ("sub-01", "sub-02"),
305
+ ("sub-03", "sub-04"),
306
+ ],
307
+ )
308
+ def test_list_elements_stdout(
309
+ elements: Tuple[str, ...],
310
+ ) -> None:
311
+ """Test elements listing to stdout.
312
+
313
+ Parameters
314
+ ----------
315
+ elements : tuple of str
316
+ The parametrized elements for filtering.
317
+
318
+ """
319
+ # Get test config
320
+ infile = Path(__file__).parent / "data" / "partly_cloudy_agg_mean_tian.yml"
321
+ # List elements command arguments
322
+ list_elements_args = [
323
+ str(infile.absolute()),
324
+ "--verbose",
325
+ "debug",
326
+ "--element",
327
+ elements[0],
328
+ "--element",
329
+ elements[1],
330
+ ]
331
+ # Invoke list elements command
332
+ list_elements_result = runner.invoke(list_elements, list_elements_args)
333
+ # Check
334
+ assert list_elements_result.exit_code == 0
335
+ assert f"{elements[0]}\n{elements[1]}" in list_elements_result.stdout
336
+
337
+
338
+ @pytest.mark.parametrize(
339
+ "elements",
340
+ [
341
+ ("sub-01", "sub-02"),
342
+ ("sub-03", "sub-04"),
343
+ ],
344
+ )
345
+ def test_list_elements_output_file(
346
+ tmp_path: Path,
347
+ elements: Tuple[str, ...],
348
+ ) -> None:
349
+ """Test elements listing to output file.
350
+
351
+ Parameters
352
+ ----------
353
+ tmp_path : pathlib.Path
354
+ The path to the test directory.
355
+ elements : tuple of str
356
+ The parametrized elements for filtering.
357
+
358
+ """
359
+ # Get test config
360
+ infile = Path(__file__).parent / "data" / "partly_cloudy_agg_mean_tian.yml"
361
+ # Output file
362
+ output_file = tmp_path / "elements.txt"
363
+ # List elements command arguments
364
+ list_elements_args = [
365
+ str(infile.absolute()),
366
+ "--verbose",
367
+ "debug",
368
+ "--element",
369
+ elements[0],
370
+ "--element",
371
+ elements[1],
372
+ "--output-file",
373
+ str(output_file.resolve()),
374
+ ]
375
+ # Invoke list elements command
376
+ list_elements_result = runner.invoke(list_elements, list_elements_args)
377
+ # Check
378
+ assert list_elements_result.exit_code == 0
379
+ with open(output_file) as f:
380
+ assert f"{elements[0]}\n{elements[1]}" == f.read()
381
+
382
+
300
383
  def test_wtf_short() -> None:
301
384
  """Test short version of wtf command."""
302
385
  # Invoke wtf command
@@ -7,13 +7,13 @@
7
7
 
8
8
  import logging
9
9
  from pathlib import Path
10
- from typing import Dict, List, Tuple, Union
10
+ from typing import Dict, List, Optional, Tuple, Union
11
11
 
12
12
  import pytest
13
13
  from ruamel.yaml import YAML
14
14
 
15
15
  import junifer.testing.registry # noqa: F401
16
- from junifer.api.functions import collect, queue, reset, run
16
+ from junifer.api.functions import collect, list_elements, queue, reset, run
17
17
  from junifer.datagrabber.base import BaseDataGrabber
18
18
  from junifer.pipeline.registry import build
19
19
 
@@ -637,3 +637,28 @@ def test_reset_queue(
637
637
 
638
638
  assert not Path(storage["uri"]).exists()
639
639
  assert not (tmp_path / "junifer_jobs" / job_name).exists()
640
+
641
+
642
+ @pytest.mark.parametrize(
643
+ "elements",
644
+ [
645
+ ["sub-01"],
646
+ None,
647
+ ],
648
+ )
649
+ def test_list_elements(
650
+ datagrabber: Dict[str, str],
651
+ elements: Optional[List[str]],
652
+ ) -> None:
653
+ """Test elements listing.
654
+
655
+ Parameters
656
+ ----------
657
+ datagrabber : dict
658
+ Testing datagrabber as dictionary.
659
+ elements : str of list of str
660
+ The parametrized elements for filtering.
661
+
662
+ """
663
+ listed_elements = list_elements(datagrabber, elements)
664
+ assert "sub-01" in listed_elements
@@ -1,4 +1,4 @@
1
- """Provide imports for configs sub-package."""
1
+ """Custom components for specific platforms."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
4
  # License: AGPL
@@ -1,4 +1,4 @@
1
- """Provide imports for juseless sub-package."""
1
+ """Custom components for FZJ INM-7's beloved juseless."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
4
  # License: AGPL
@@ -1,4 +1,4 @@
1
- """Provide imports for datagrabbers sub-package."""
1
+ """Custom DataGrabbers for FZJ INM-7's beloved juseless."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
4
  # Leonard Sasse <l.sasse@fz-juelich.de>
junifer/data/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
- """Provide imports for data sub-package."""
1
+ """Parcellations, coordinates and masks."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
4
  # Synchon Mandal <s.mandal@fz-juelich.de>
@@ -1,4 +1,4 @@
1
- """Provide functions for list of coordinates."""
1
+ """Functions for coordinates manipulation."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
4
  # Synchon Mandal <s.mandal@fz-juelich.de>
junifer/data/masks.py CHANGED
@@ -1,4 +1,4 @@
1
- """Provide functions for masks."""
1
+ """Functions for mask manipulation."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
4
  # Synchon Mandal <s.mandal@fz-juelich.de>
@@ -1,4 +1,4 @@
1
- """Provide functions for parcellation."""
1
+ """Functions for parcellation manipulation."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
4
  # Vera Komeyer <v.komeyer@fz-juelich.de>
@@ -1,4 +1,4 @@
1
- """Provide functions for template spaces."""
1
+ """Functions for template space manipulation."""
2
2
 
3
3
  # Authors: Synchon Mandal <s.mandal@fz-juelich.de>
4
4
  # License: AGPL
@@ -1,4 +1,4 @@
1
- """Provide imports for datagrabber sub-package."""
1
+ """DataGrabbers for datasets' data description."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
4
  # Leonard Sasse <l.sasse@fz-juelich.de>
@@ -1,4 +1,4 @@
1
- """Provide imports for datareader sub-package."""
1
+ """DataReaders for datasets' data loading."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
4
  # Leonard Sasse <l.sasse@fz-juelich.de>
@@ -1,4 +1,4 @@
1
- """Provide imports for external sub-package."""
1
+ """External tools adapted for junifer."""
2
2
 
3
3
  # Authors: Synchon Mandal <s.mandal@fz-juelich.de>
4
4
  # License: AGPL
@@ -1,4 +1,4 @@
1
- """Provide imports for custom nilearn objects sub-package."""
1
+ """Custom objects adapted from nilearn."""
2
2
 
3
3
  # Authors: Synchon Mandal <s.mandal@fz-juelich.de>
4
4
  # License: AGPL
@@ -1,4 +1,4 @@
1
- """Provide imports for markers sub-package."""
1
+ """Markers for feature extraction."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
4
  # Leonard Sasse <l.sasse@fz-juelich.de>
@@ -1,4 +1,4 @@
1
- """Provide imports for onthefly sub-package."""
1
+ """Utilities for on-the-fly analyses."""
2
2
 
3
3
  # Authors: Synchon Mandal <s.mandal@fz-juelich.de>
4
4
  # License: AGPL
@@ -1,4 +1,4 @@
1
- """Provide imports for pipeline sub-package."""
1
+ """Pipeline components."""
2
2
 
3
3
  # Authors: Synchon Mandal <s.mandal@fz-juelich.de>
4
4
  # License: AGPL
@@ -1,4 +1,4 @@
1
- """Provide imports for preprocess sub-package."""
1
+ """Preprocessors for preprocessing data before feature extraction."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
4
  # Leonard Sasse <l.sasse@fz-juelich.de>
junifer/stats.py CHANGED
@@ -1,4 +1,4 @@
1
- """Provide functions for statistics."""
1
+ """Statistical functions and helpers."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
4
  # Synchon Mandal <s.mandal@fz-juelich.de>
@@ -1,4 +1,4 @@
1
- """Provide imports for storage sub-package."""
1
+ """Storages for storing extracted features."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
4
  # Synchon Mandal <s.mandal@fz-juelich.de>
@@ -1,4 +1,4 @@
1
- """Provide imports for testing sub-package."""
1
+ """Testing components."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
4
  # Synchon Mandal <s.mandal@fz-juelich.de>
@@ -1,4 +1,4 @@
1
- """Provide testing DataGrabbers."""
1
+ """Testing DataGrabbers."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
4
  # Synchon Mandal <s.mandal@fz-juelich.de>
junifer/utils/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
- """Provide imports for utils sub-package."""
1
+ """General utilities and helpers."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
4
  # Synchon Mandal <s.mandal@fz-juelich.de>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: junifer
3
- Version: 0.0.5.dev27
3
+ Version: 0.0.5.dev36
4
4
  Summary: JUelich NeuroImaging FEature extractoR
5
5
  Author-email: Fede Raimondo <f.raimondo@fz-juelich.de>, Synchon Mandal <s.mandal@fz-juelich.de>
6
6
  Maintainer-email: Fede Raimondo <f.raimondo@fz-juelich.de>, Synchon Mandal <s.mandal@fz-juelich.de>
@@ -1,13 +1,13 @@
1
1
  junifer/__init__.py,sha256=x1UR2jUcrUdm2HNl-3Qvyi4UUrU6ms5qm2qcmNY7zZk,391
2
- junifer/_version.py,sha256=F2Z7xVB6hG84y0R3P4KaCGrxH_Hu1PR-l82F-5zd5fw,426
3
- junifer/stats.py,sha256=sU5IZ2qFZWbzgSutQS_z42miIVItpSGmQYBn6KkD5fA,6162
4
- junifer/api/__init__.py,sha256=YILu9M7SC0Ri4CVd90fELH2OnK_gvCYAXCoqBNCFE8E,257
5
- junifer/api/cli.py,sha256=_fC35jp0YzqNIpO5yvTb_5QBmUpw6sRFgVjBeoRbhO8,13627
2
+ junifer/_version.py,sha256=mtiYNkxzw1J_5KKK0VZDDFERULfO3kg5_ZQlOd7_imI,426
3
+ junifer/stats.py,sha256=jN22_qFvWYBU9ZIMnCSzN4iOscWnWrcrUPIdLeDkV64,6163
4
+ junifer/api/__init__.py,sha256=pSj8V8tmwOAQ3sshWJfRfB-n3z5bcJj3pHOBX4-8ONc,251
5
+ junifer/api/cli.py,sha256=wtU7Rv9tDIT-4KQAkG6WxiE6mop3cuz6XxGDewceHPs,15329
6
6
  junifer/api/decorators.py,sha256=8bnwHPAe7VgzKxl--M_e0umdAlTVSzaJQHEJZ5kof5k,2580
7
- junifer/api/functions.py,sha256=N59KM2GqxIwMU2tXc44oYCqogclgqD45qI_ULrfGYDQ,11616
7
+ junifer/api/functions.py,sha256=29bGcpFueL3mjOcoNWU0xaHpM5aIrRQod-U2o-5_TSs,12938
8
8
  junifer/api/parser.py,sha256=a3SSC2xO-PF1pqXZXFq8Sh9aVd-dmHolJbCkGyOUTAM,4416
9
9
  junifer/api/utils.py,sha256=dyjTdPMwX9qeCrn8SQT2Pjshfnu-y1FEyujV7lCzvm0,3333
10
- junifer/api/queue_context/__init__.py,sha256=x0fT0ax-jPI0Fefg2quJ6VCIwhJ9rUQEjCNqxDXw7WM,287
10
+ junifer/api/queue_context/__init__.py,sha256=_yXJ8woTxLNLoSR3yLxAW7MtC5sa-oCRxewsZ9D3j98,271
11
11
  junifer/api/queue_context/gnu_parallel_local_adapter.py,sha256=x2eQRVkhwJKd-Kx8AYia4F8nYnOLJrFzMGMjcwUygEc,9561
12
12
  junifer/api/queue_context/htcondor_adapter.py,sha256=92pt4M_r52inBVlQ2M8Di6quEKW4Xcq3qVNRXaV4rGY,13233
13
13
  junifer/api/queue_context/queue_context_adapter.py,sha256=a6UE8xavDfuaZbkWYsayVs6l-rwIrbpFSpqSyHsEeYY,1577
@@ -32,15 +32,15 @@ junifer/api/res/fsl/img2imgcoord,sha256=Zmaw3oJYrEltcXiPyEubXry9ppAq3SND52tdDWGg
32
32
  junifer/api/res/fsl/run_fsl_docker.sh,sha256=mRLtZo0OgDwleoee2MG6rYI37HVuGNk9zOADwcl97RA,1122
33
33
  junifer/api/res/fsl/std2imgcoord,sha256=-X5wRH6XMl0yqnTACJX6MFhO8DFOEWg42MHRxGvimXg,49
34
34
  junifer/api/tests/test_api_utils.py,sha256=zDRQiqFOaoO02FpzJCxEbZvsP4u4__Yr25e5k5MJwuI,2713
35
- junifer/api/tests/test_cli.py,sha256=FYGuTLlqjB9IifMIdvHEGSQSSy6ym6623fKKPs8PsM8,8871
36
- junifer/api/tests/test_functions.py,sha256=mvxdaGHxPje-aQGS2fo95xjU7jOf8TYaTWqwFZ5T0oY,17215
35
+ junifer/api/tests/test_cli.py,sha256=kyDu-51lBmIBlQ2MnmmecC3nENrQuZRpk0bCkAPqmWM,10969
36
+ junifer/api/tests/test_functions.py,sha256=unLxIMwB3f7HF3ESq0JCfRaQhNB9Xj0JEi1OMkWsgtQ,17753
37
37
  junifer/api/tests/test_parser.py,sha256=eUz2JPVb0_cxvoeI1O_C5PMNs5v_lDzGsN6fV1VW5Eg,6109
38
38
  junifer/api/tests/data/gmd_mean.yaml,sha256=Ohb_C5cfQMK-59U9O1ZhejXyBtzLc5Y4cv8QyYq2azg,330
39
39
  junifer/api/tests/data/gmd_mean_htcondor.yaml,sha256=f7NLv_KIJXTiPNFmOWl2Vw8EfwojhfkGtwbh5prbd6w,417
40
40
  junifer/api/tests/data/partly_cloudy_agg_mean_tian.yml,sha256=nS8K_R1hEuV71Vv-i9SYjnDGAK2FClQqBiE4kOuQ_ys,313
41
- junifer/configs/__init__.py,sha256=r6BU6vW7FVapSD81j24QeQiZe1oKspsJJRRPjXnCk00,120
42
- junifer/configs/juseless/__init__.py,sha256=Ws98DvlLEMHfwW6BjmvHQmqTlFRDps9r4pLAfNjfEiM,149
43
- junifer/configs/juseless/datagrabbers/__init__.py,sha256=tqCLmelWqB1xfElvknnaJ5oVRPp9XVXtZLzIpxYIghg,452
41
+ junifer/configs/__init__.py,sha256=mE70B1Sc7Tn4uts1vMVF7Ie6hdj7PuDvmDmie3soA9I,121
42
+ junifer/configs/juseless/__init__.py,sha256=mT1pnQcoH32bIqmU2mBO31pFsdc0jKrGBNVxxJ6fdao,159
43
+ junifer/configs/juseless/datagrabbers/__init__.py,sha256=kLcoJyUZMrrAmgWynuTvute9tZ3sSVWrEm7t0nKCO4s,460
44
44
  junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py,sha256=4Vf1AC6WSDkCaYXKJXEkJHS2UsdON57wdhj_oqpK-vw,1428
45
45
  junifer/configs/juseless/datagrabbers/camcan_vbm.py,sha256=GXnDML55kKEGSb38olRUWL_AFdN9IvPViEGP9CaDTUQ,1497
46
46
  junifer/configs/juseless/datagrabbers/ixi_vbm.py,sha256=mCuv-27AsN9bReoq3Fo7CJaC2Jkmd5Y1sFEk5ExGqUo,2263
@@ -51,11 +51,11 @@ junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py,sha256=o0dzptS97p
51
51
  junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py,sha256=8jxpNZelXwpJGvA5LOfpso2X8yt1chvERAYmv76hS_g,1252
52
52
  junifer/configs/juseless/datagrabbers/tests/test_ucla.py,sha256=fFxllR0yvt7hiQYdSXJkl9_05UwemKfcp1vC6xf0X-U,3315
53
53
  junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py,sha256=b9hjc1mgO--PSRC3id2EzzfE2yWNsuZ2UI47a6sfGZU,1025
54
- junifer/data/__init__.py,sha256=1E6JtzpnjjA0IutkJkarEik9NhCP9PPI6K0-37XDZVg,602
55
- junifer/data/coordinates.py,sha256=Y_-gGCvIqxjArGf-E6LmYzz6ZIbG0ugw5NjgIeirXuA,12850
56
- junifer/data/masks.py,sha256=u_DDKg8bv0Fec_DwEc1Ledajy5yen3VT-ZblQT6cwaI,23473
57
- junifer/data/parcellations.py,sha256=tWTrZE68K1X-_1kekRFhVmbrHX_lfSipjaPPjgy0etM,65220
58
- junifer/data/template_spaces.py,sha256=V_rsSeyXk1TtOtPuDeRtJxDfr0YU08ZB0JLgXNT3DIE,5752
54
+ junifer/data/__init__.py,sha256=Z3CdIXpXK3Avxm2Qj7MsuNNZSM8Pc5KBa9D51DYd1v0,602
55
+ junifer/data/coordinates.py,sha256=YzFUTeV9H8feWDlexz1v0E6UXERFeoP8ia1j5qYg8JU,12847
56
+ junifer/data/masks.py,sha256=onSBFxar8l6TwNg3aUotSodv0-yabsWK8oF6qomcMxc,23477
57
+ junifer/data/parcellations.py,sha256=reNi0YdxP0sQYnB_tnxabP73FkvkdXXGsDLn68-hnfM,65225
58
+ junifer/data/template_spaces.py,sha256=2dD9GIBgsd764ol3ZvmHL11VrsaBC78CwrMaMh4TCGQ,5756
59
59
  junifer/data/utils.py,sha256=Jmbc7SLzy4nLP_zkWv_aJzb1MZ27tutJ98ifsECCamM,1295
60
60
  junifer/data/VOIs/meta/AutobiographicalMemory_VOIs.txt,sha256=9af38naeL18Tlt_gy_ep6vyTAxOB336JYjbo5FvP8PQ,686
61
61
  junifer/data/VOIs/meta/CogAC_VOIs.txt,sha256=Sr5_E712OLdeQRyUcDNM0wLBvZIyO6gc9Q7KkyJHX1A,398
@@ -84,7 +84,7 @@ junifer/data/tests/test_data_utils.py,sha256=_DaiC8K79gs9HFHxr-udNeE2YTM6JA0-1i-
84
84
  junifer/data/tests/test_masks.py,sha256=hJAvwPElhzvHYN15-6n98ABgCD-3lBY5WwHFuhImRe0,16172
85
85
  junifer/data/tests/test_parcellations.py,sha256=ZEU1VHIK0AyxpclcJhG_0rQU0phaBU_dHP7Erfi3mN8,38222
86
86
  junifer/data/tests/test_template_spaces.py,sha256=PJulN7xHpAcSOTY-UzTG_WPywZEBSlAZGiNG4gzk1_8,3144
87
- junifer/datagrabber/__init__.py,sha256=pZHJIY8nAlbVngsyRScE6a6GKbytiwjJB7SdJNqIbl4,680
87
+ junifer/datagrabber/__init__.py,sha256=fhHKsZyBeqCFJJMr53VF6EUkNrFuUZkNR8QZbaoHTNg,680
88
88
  junifer/datagrabber/base.py,sha256=KgMSKfkwd4yLW4PhoJDoWMgcDkGmDoIs6jkgKyOJd9A,6303
89
89
  junifer/datagrabber/datalad_base.py,sha256=SsGUJdefdDgAJARBG5kHcbLK2CvvnoEto0TpGZUgnWE,10659
90
90
  junifer/datagrabber/dmcc13_benchmark.py,sha256=K7-TnVRCDQwL6IIaFofJABKr2Jho0loewAavzdmBjK0,12869
@@ -110,19 +110,19 @@ junifer/datagrabber/tests/test_dmcc13_benchmark.py,sha256=m1_ODoGAvSiFeGS-tyTaK1
110
110
  junifer/datagrabber/tests/test_multiple.py,sha256=Mx3xfDrQiWG2W5MW24P5L2XiSeALpJ2-jFlzWkKtu9w,5659
111
111
  junifer/datagrabber/tests/test_pattern.py,sha256=Zmwg79f-qs6AEPVoFpooOquK7rm1hsmgkzuo11BG5PE,8019
112
112
  junifer/datagrabber/tests/test_pattern_datalad.py,sha256=hxw_aXBwHjUo-aUrHescBA2dn1bSJxh-0oV8495iIEA,6483
113
- junifer/datareader/__init__.py,sha256=WWoiIz6y0EdExWO3WCGiERNw3Y3WUsXyHaWnHilP2kE,263
113
+ junifer/datareader/__init__.py,sha256=_vtrLX_vxlHFD90gPa3gWnhTuvfWM7Uzyj6y8ZPaWm8,259
114
114
  junifer/datareader/default.py,sha256=BFtk_HJueia7EfhaIpgebe-RWHSKaLEO5btpHA--wo0,4848
115
115
  junifer/datareader/tests/test_default_reader.py,sha256=9dPZSkba1YQjFsA0XwdUbx5sq8DVIEZoy_WfMAcvRus,5220
116
- junifer/external/__init__.py,sha256=58gL7gNN_PI1GyN6r9CO035TzvJdi8S-zFg5reDt4Xc,116
116
+ junifer/external/__init__.py,sha256=CBB7eQul2hf-WWwT_PYFV1MS9KkXlZBO7oQWWVLgB_I,110
117
117
  junifer/external/h5io/h5io/__init__.py,sha256=LG7ru_Rt3EOE2H4PGYfBhC12Iax3yeTquZkd8TICiKk,469
118
118
  junifer/external/h5io/h5io/_h5io.py,sha256=8dWZDYegoPcBkH_fHPdl0eXNWTaRdk9hfIQo8Mcegzo,28748
119
119
  junifer/external/h5io/h5io/_version.py,sha256=mFY0GwwuN-a3M8w93_mskS6GZIvv9SNdjLfJaWNsm-I,22
120
120
  junifer/external/h5io/h5io/chunked_array.py,sha256=K1HWf7R2Jc7gCzBqAoBjx0ZnMmUhTe3iAO6RF6PdUO4,3338
121
121
  junifer/external/h5io/h5io/chunked_list.py,sha256=1Y5BbuWzurJlEFQzJNuDdC3fNZ39ENEMba99X_4VeSM,1952
122
- junifer/external/nilearn/__init__.py,sha256=QkT7Z2n6L7_qyN0o69Z-mYuyLre0SF884PSBTnG_ltQ,199
122
+ junifer/external/nilearn/__init__.py,sha256=a2Umwm3_WeqIC7DqPUmnUonYfX3LUdQ0ScDGZrNP6y4,180
123
123
  junifer/external/nilearn/junifer_nifti_spheres_masker.py,sha256=sA8fbdaTHk2omYidApNO1hN0ObwDJR_h26P9i3MhbvM,16274
124
124
  junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py,sha256=qlMFWjo9y8mNLrdmN2qCEK6_nplASv2OlomSfTxDcuw,10370
125
- junifer/markers/__init__.py,sha256=exUUmpDsPkoNa9FK6Y7pDusOYv56_zoci8hiOaxyswE,778
125
+ junifer/markers/__init__.py,sha256=LjrBMZtWB0LKOnEwiFV-qsWzGUH2ka84VwS0h7wF45U,769
126
126
  junifer/markers/base.py,sha256=Af8TyoNAIHWREZkIgi2su6PUqoloJXVGT-KW13WlWUM,6370
127
127
  junifer/markers/collection.py,sha256=eD6_IJ3y-9lcN4r0ORZqgr2ICjHyTvlAKyh0HKPYqzk,5247
128
128
  junifer/markers/ets_rss.py,sha256=7fr6mmbMM5NKIDV6bUyyu-pwHJH56GwYv6oozK4EX6k,4557
@@ -188,10 +188,10 @@ junifer/markers/tests/test_marker_utils.py,sha256=SR3ADWI3uGv4ozYqVu-rMZnJVqP6Jn
188
188
  junifer/markers/tests/test_markers_base.py,sha256=cbuCeMmjyFMP1ea6J6XRsBQo8CivQ41ooABiT1Snj2k,3076
189
189
  junifer/markers/tests/test_parcel_aggregation.py,sha256=N0Nn42BF1apQkhntZikiU73b5clJkY2LThBv2YScJPg,26531
190
190
  junifer/markers/tests/test_sphere_aggregation.py,sha256=Xu2vrZvaK0oCZqjuJGiC6Tl8jSOFwVl75U4geclpy14,9747
191
- junifer/onthefly/__init__.py,sha256=GG_Z5NgnVNph6CLPtGFI2HE_OIuVTZ874BOq72mA-ps,160
191
+ junifer/onthefly/__init__.py,sha256=hXPczDl10JzCuKe6MNhigXIdFwvftEaRY5fXqCuaRJM,153
192
192
  junifer/onthefly/read_transform.py,sha256=8ia2QktWpVhPDD20bKywuVHPU1Ys2Wyc_HvKyyRTcVo,4309
193
193
  junifer/onthefly/tests/test_read_transform.py,sha256=D2C3IpXQHdsJSF07v8rEwGntLGXjZOserlRhebJUAVM,4719
194
- junifer/pipeline/__init__.py,sha256=yV9vFzwb1OYwC5apEGzDVpjEGCZxfEOmx5FoEha9xY4,282
194
+ junifer/pipeline/__init__.py,sha256=oTnyotkwfw6K7s7t8c0U8Ew3trx4wnkXlK4xw_h8PHY,261
195
195
  junifer/pipeline/pipeline_step_mixin.py,sha256=kU0Wut_chlT-iTUb8NP72c7YEoHAECbp7AC0vVsMejc,7219
196
196
  junifer/pipeline/registry.py,sha256=12tRsFeDz_kj9D1nzy9SAkBpchu5IyRH7U2h7eqPDZA,4260
197
197
  junifer/pipeline/singleton.py,sha256=-BiiyFiEO1EItztBcAWI_eyApR-oJTAGVRXkV706rQ4,985
@@ -202,7 +202,7 @@ junifer/pipeline/tests/test_pipeline_step_mixin.py,sha256=_ykZzyNzREXy-r_yv1gY_j
202
202
  junifer/pipeline/tests/test_registry.py,sha256=rYN0pO3gSueQ6XsasEM9VU5BkLyaNl8WaCZiaO8Rno0,4105
203
203
  junifer/pipeline/tests/test_update_meta_mixin.py,sha256=UeWwpUi-Q5WVd36Fgfn_utXplSVXMSjLcdO2mR2xLTk,1355
204
204
  junifer/pipeline/tests/test_workdir_manager.py,sha256=E1WY4C-GDsx2c49sePqr1WR_Y3nZ1kiRn4Veu506uTs,2801
205
- junifer/preprocess/__init__.py,sha256=QFDpEl6SnbWUhTXxZExpbIPNVSzxx5ynb2Y5BS0XGko,408
205
+ junifer/preprocess/__init__.py,sha256=lWxDgXD_Ms7FPz70JUcUJT5AbEs-v65K2xrdh3d-a80,428
206
206
  junifer/preprocess/base.py,sha256=Bn1VdonQ1f_DDPwFMpdaeyfLfNSnROulr-U8HuGQ81A,6697
207
207
  junifer/preprocess/bold_warper.py,sha256=pEQ1GaWTV2Ili9WyqJgtq0PGHm4hNztXyY9ixoLNZnw,9060
208
208
  junifer/preprocess/ants/__init__.py,sha256=Uobmbhh6_gOowkF2hQNSQOh3AYeaXzarBXEcLJzhERE,112
@@ -227,7 +227,7 @@ junifer/preprocess/warping/_ants_warper.py,sha256=Y1UzZ5jy1TvlLEkaQKW7jCNvEHufZM
227
227
  junifer/preprocess/warping/_fsl_warper.py,sha256=eELmS44LYYANQaWR3VDKv8iwpEC2qnF9kbTYRanR2mE,3204
228
228
  junifer/preprocess/warping/space_warper.py,sha256=BW7ymZdr4h7lJRtPLi3RT7qwgmu-HFJFqzZNUl341YU,6589
229
229
  junifer/preprocess/warping/tests/test_space_warper.py,sha256=hHF97XUrMeAu8pIPBUrqD77PijbSv5_dAj9-Zte7UZM,5622
230
- junifer/storage/__init__.py,sha256=QlzBw9UrRhmg_f7zQVas9h313u3sfZIBicA3_0Skm4M,337
230
+ junifer/storage/__init__.py,sha256=5ve0Vy1stGmn9iQv0c4w-76-sg-gFqZE2IlRlJhFWpQ,337
231
231
  junifer/storage/base.py,sha256=UxDvj81gSmqqHspbSs1X_i9HvW5wXysDippI7HWM7aM,9654
232
232
  junifer/storage/hdf5.py,sha256=oxdPuCG0hxzSDNH0uHnYFwVr_wp0g9yvgZf8bv3PkJM,35631
233
233
  junifer/storage/pandas_base.py,sha256=Qu3Az-xEaFftsiZwordONnOF2UBO1JgkrP8tmxhXUN4,7473
@@ -238,8 +238,8 @@ junifer/storage/tests/test_pandas_base.py,sha256=y_TfUGpuXkj_39yVon3rMDxMeBrZXs5
238
238
  junifer/storage/tests/test_sqlite.py,sha256=JPfE6r34o86XkKaB6yjMVmO_2vUV40DjsaHICagUtjk,28318
239
239
  junifer/storage/tests/test_storage_base.py,sha256=YzgfspuggzXejyPIoRCPST3ZzH9Pi7dgl0IHN7kynXM,3071
240
240
  junifer/storage/tests/test_utils.py,sha256=vRGhbeOsSn2Izhjh5AaaJkp6X2EoIQVH3a-9COFVnzg,11854
241
- junifer/testing/__init__.py,sha256=5rCgJOF9m2du2u4Qsaze9SZ1oDjKptn6-QbN7VPhD1I,235
242
- junifer/testing/datagrabbers.py,sha256=4E368euqkZtSkNyf8Q45GTittMYGzev3mIwngCcAiMY,6496
241
+ junifer/testing/__init__.py,sha256=LYkax9qpZlxcZnMpZLlvnPSmUr_JoF_CjO3gugvj1Co,214
242
+ junifer/testing/datagrabbers.py,sha256=tY_dObc2wqSmIrQhcfwR_c8AuVYch51XuhpCKcfA_Oc,6488
243
243
  junifer/testing/registry.py,sha256=iGH3hAt36VtvnZO7UQjybHGh2FI8vo1InY3uDSct5Ps,720
244
244
  junifer/testing/utils.py,sha256=Qgf1ZPk-V1jU2g82a7K0P43VAxbTjOnnBfdV-9wDuMo,558
245
245
  junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv,sha256=iDY1apF5caxnyGqvBYWer5JRKQIfuOwoT-SzzsgL59s,406849
@@ -249,17 +249,17 @@ junifer/testing/tests/test_spmauditory_datagrabber.py,sha256=1G1emk-Ze59HiNLaYsy
249
249
  junifer/testing/tests/test_testing_registry.py,sha256=oerticBaPRaRZm3yANzInLac0Mqph3Y0aZPQFayu7xA,827
250
250
  junifer/tests/test_main.py,sha256=GMff7jlisGM9_FsiUwWDte43j-KQJGFRYZpwRRqTkd8,373
251
251
  junifer/tests/test_stats.py,sha256=3vPMgYYpWxk8ECDFOMm3-dFBlh4XxjL83SwRBSBAHok,4155
252
- junifer/utils/__init__.py,sha256=sFpsDKbPPtoU3Db3OSO9Vo45u4yE7UfocNaBtD-qvdk,310
252
+ junifer/utils/__init__.py,sha256=pnx76oY_PbQzuN7DKRZ2c7K81XDOm8tOvB46wMfhZW8,302
253
253
  junifer/utils/fs.py,sha256=Jd9AoV2fIF7pT7KhXsn8T1O1fJ1_SFZgaFuOBAM7DG8,460
254
254
  junifer/utils/helpers.py,sha256=Hp3yGZa9x659BCqFTd4keEU1gbHXNAbJ1_lHG1M6lwI,1338
255
255
  junifer/utils/logging.py,sha256=furcU3XIUpUvnpe4PEwzWWIWgmH4j2ZA4MQdvSGWjj0,9216
256
256
  junifer/utils/tests/test_fs.py,sha256=WQS7cKlKEZ742CIuiOYYpueeAhY9PqlastfDVpVVtvE,923
257
257
  junifer/utils/tests/test_helpers.py,sha256=k5qqfxK8dFyuewTJyR1Qn6-nFaYNuVr0ysc18bfPjyU,929
258
258
  junifer/utils/tests/test_logging.py,sha256=l8oo-AiBV7H6_IzlsNcj__cLeZBUvgIGoaMszD9VaJg,7754
259
- junifer-0.0.5.dev27.dist-info/AUTHORS.rst,sha256=rmULKpchpSol4ExWFdm-qu4fkpSZPYqIESVJBZtGb6E,163
260
- junifer-0.0.5.dev27.dist-info/LICENSE.md,sha256=MqCnOBu8uXsEOzRZWh9EBVfVz-kE9NkXcLCrtGXo2yU,34354
261
- junifer-0.0.5.dev27.dist-info/METADATA,sha256=jvrOkuBla5IlTKRbbmZz3d9Pxe8cPSEo60ZO30t3N9E,8234
262
- junifer-0.0.5.dev27.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
263
- junifer-0.0.5.dev27.dist-info/entry_points.txt,sha256=DxFvKq0pOqRunAK0FxwJcoDfV1-dZvsFDpD5HRqSDhw,48
264
- junifer-0.0.5.dev27.dist-info/top_level.txt,sha256=4bAq1R2QFQ4b3hohjys2JBvxrl0GKk5LNFzYvz9VGcA,8
265
- junifer-0.0.5.dev27.dist-info/RECORD,,
259
+ junifer-0.0.5.dev36.dist-info/AUTHORS.rst,sha256=rmULKpchpSol4ExWFdm-qu4fkpSZPYqIESVJBZtGb6E,163
260
+ junifer-0.0.5.dev36.dist-info/LICENSE.md,sha256=MqCnOBu8uXsEOzRZWh9EBVfVz-kE9NkXcLCrtGXo2yU,34354
261
+ junifer-0.0.5.dev36.dist-info/METADATA,sha256=5OmMaGrG1dIzsg8i7OHCyLkntZ0QeeKLmhtzCFZIRBo,8234
262
+ junifer-0.0.5.dev36.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
263
+ junifer-0.0.5.dev36.dist-info/entry_points.txt,sha256=DxFvKq0pOqRunAK0FxwJcoDfV1-dZvsFDpD5HRqSDhw,48
264
+ junifer-0.0.5.dev36.dist-info/top_level.txt,sha256=4bAq1R2QFQ4b3hohjys2JBvxrl0GKk5LNFzYvz9VGcA,8
265
+ junifer-0.0.5.dev36.dist-info/RECORD,,