From 18260ebeece2303d2c0c0444dca5cee7abdc9e5f Mon Sep 17 00:00:00 2001 From: DESm1th Date: Thu, 15 Aug 2024 00:27:10 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20TIGRLab/?= =?UTF-8?q?datman@d1e7ed9cf5cebe4821f94afc211d1f641ad1d070=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .doctrees/api/datman.config.doctree | Bin 48900 -> 48900 bytes .doctrees/api/datman.dashboard.doctree | Bin 41718 -> 41718 bytes .doctrees/api/datman.exceptions.doctree | Bin 28558 -> 28558 bytes .doctrees/api/datman.exporters.doctree | Bin 228689 -> 228689 bytes .doctrees/api/datman.fs_log_scraper.doctree | Bin 26906 -> 26906 bytes .doctrees/api/datman.header_checks.doctree | Bin 21174 -> 21174 bytes .doctrees/api/datman.metrics.doctree | Bin 115082 -> 115082 bytes .doctrees/api/datman.scan.doctree | Bin 23626 -> 23626 bytes .doctrees/api/datman.scan_list.doctree | Bin 22168 -> 22168 bytes .doctrees/api/datman.scanid.doctree | Bin 98386 -> 98386 bytes .doctrees/api/datman.utils.doctree | Bin 149481 -> 149031 bytes .doctrees/api/datman.xnat.doctree | Bin 196433 -> 196433 bytes .doctrees/environment.pickle | Bin 2214276 -> 2217137 bytes api/datman.config.html | 30 ++--- api/datman.dashboard.html | 32 +++--- api/datman.exceptions.html | 20 ++-- api/datman.exporters.html | 116 ++++++++++---------- api/datman.fs_log_scraper.html | 26 ++--- api/datman.header_checks.html | 18 +-- api/datman.metrics.html | 76 ++++++------- api/datman.scan.html | 12 +- api/datman.scan_list.html | 14 +-- api/datman.scanid.html | 52 ++++----- api/datman.utils.html | 89 ++++++++------- api/datman.xnat.html | 90 +++++++-------- searchindex.js | 2 +- 26 files changed, 287 insertions(+), 290 deletions(-) diff --git a/.doctrees/api/datman.config.doctree b/.doctrees/api/datman.config.doctree index ea69540b8a18a9632097a15316141843ea49eb40..14fddccb91769ca1daedfced1cf0a6d4827bd171 100644 GIT binary patch delta 245 zcmZqq$JFwVX~Qo;Hp5i&)D+9fiA}9B7aWV*||wnq|R-q*r`1qum{DgkJH@zdXwY5PY%Cy-^=g^v_Dx;zX8zkn>j% gng6ryDU$hOn}4-@LsBoknYZ59B7aWV*||wnq|R-q*r`1qum{DgkJH@zdXwY5PY%Cy-^=g^v_Dx;zX8zkn>j% gng6ryDU$hOn}4-@LsBoknYZ5%``MAzb1J<-kr&WLm49Wl b0Y&{*tIa6to1J%|$VYg4pzwDGU6ug=Ie|BQ delta 169 zcmeCX&)9dLal%``MAzb1J<-kr&WLm49Wl b0Y&{*tIa6to1J%|$VYg4pzwDGU6ug=gyuCv diff --git a/.doctrees/api/datman.exporters.doctree b/.doctrees/api/datman.exporters.doctree index e71473895cafbc10b54993ea8eecb6c50391064c..b26cb5defc6fa92583a209269de522ac4a72d770 100644 GIT binary patch delta 972 zcmccki}&I$-VJiXY=)`ksVSC|A3hM@Y%R>hf#8d6j+9=>hRl~!+Qfy-f1|UD1(|=y z@HY=K|EApz5h#DU;{rzU&Fg~KqgYTGBZ;D6UB*=u3+Ly5=0-7KeRTmJvJKW-d@|sxK9wOVmmM*>R|e(7hY!+-+pHe z<8ppv1Lp5x&3Jl+Nka-* zK G`Q!oG5^>=G delta 972 zcmccki}&I$-VJiXY)O_$W(LNSA3hM@Y%R>hf#8d6j+9=>hRl~!+Qfy-f1|UD1(|=y z@HY=K|EApz5h#DU;{rzU&Fg~KqgYTGBZ;D6UB*=u3+Ly5=0-7KeRTmJvJKW-d@|sxK9wOVmmM*>R|e(7hY!+-+pHe z<8ppv1Lp5x&3Jl+Nka-* zK G`Q!m2!esXV diff --git a/.doctrees/api/datman.fs_log_scraper.doctree b/.doctrees/api/datman.fs_log_scraper.doctree index 872ac88c30b8a42548028caab48fbf3e03195c4c..1b0484bcdae8a9c016262bd5552278246d28046d 100644 GIT binary patch delta 209 zcmbPriE-8?#tmjXY=)`ksVSC|8AGKvhw~V5AowzySBq?6Met=eH%WOQ@ntr@kq=`- z$jfX_Q9F+$FS|KRrv!;Fz4^7FE(+h$JeVD(zc5Z_^Ex{YB=e*7&Yv Ynr=o>|IBJ08?yREj#E+ip&p4`0G)j;H2?qr delta 153 zcmdnClyTcq#tn8{Y)O_$W(LNS8SNxC$8d$9@Xv`T@F2_cDDGrM=08@m7&Yv Ynr=o>|IBJ08?yREj#E+ip&p4`01F2zGynhq diff --git a/.doctrees/api/datman.metrics.doctree b/.doctrees/api/datman.metrics.doctree index 3c08589b6bf890bb1e7ecfac037247e4bae74127..b8f862181b53defae2344e1fe5ac5953953ccad9 100644 GIT binary patch delta 621 zcmeBbX76fd-!O%X%`nwGHN|rB!?hxt*Kti?L*_>a7V;waqMM({t>Z-Iuhm$EBrmeL z(98)%|5=-30?6vu`OZMmpBOGGjF1=EJR!>yMgQjlUnKKIH%He^MA6UQ@e0X&kjm;R-AHAHNrQs1{_Z~%{`AKmQ1}a9u7L+T$heFzX_83#x4+WqSL=YzEP8!;k>y~uWbXGWC3-9E{a@hp-SvF+8NjPH4n s-O-Z7=zvT!+2F1*^DDA7>`K+0Nmv2fdBvi delta 621 zcmeBbX76fd-!O%XEy*&;%)of^!?hxt*Kti?L*_>a7V;waqMM({t>Z-Iuhm$EBrmeL z(98)%|5=-30?6vu`OZMmpBOGGjF1=EJR!>yMgQjlUnKKIH%He^MA6UQ@e0X&kjm;R-AHAHNrQs1{_Z~%{`AKmQ1}a9u7L+T$heFzX_83#x4+WqSL=YzEP8!;k>y~uWbXGWC3-9E{a@hp-SvF+8NjPH4n s-O-Z7=zvT!+2F1*^DDA7>`K+0F6)L3jhEB diff --git a/.doctrees/api/datman.scan.doctree b/.doctrees/api/datman.scan.doctree index 708e9e78aae41a4dc4f5a9aa396b7728d2a53ed3..3e9a78d14b3872ca7890d7be14aa002ab2e72522 100644 GIT binary patch delta 81 zcmX@LgYnc3#tp69Y=)`ksVSD5ySZQT!`M~Qb0lGG8B+&V7(2;I4bJYf*M;jn=+!9* E0BL_3RsaA1 delta 81 zcmX@LgYnc3#tp69Y)O_$W(LNaySZQT!`M~Qb0lGG8B+&V7(2;I4bJYf*M;jn=+!9* E06L!;00000 diff --git a/.doctrees/api/datman.scan_list.doctree b/.doctrees/api/datman.scan_list.doctree index c1d1d7564b7464861bfb8bdab4aba066c5773420..1e03fd5cb7b14fc57abd58359fea629dd22a01fd 100644 GIT binary patch delta 117 zcmbQSmT|^f#tjQ4*bGz6Q&TJ_3%ZJJ-YfB)9hrYYVJ{~#f2Gz-ZUkR^^LjHO4g_Cp V^IbbVHYk6ypsPHJSw22KTmbe5B(VSh delta 117 zcmbQSmT|^f#tjQ4*pe)h%nXbt3%ZJJ-YfB)9hrYYVJ{~#f2Gz-ZUkR^^LjHO4g_Cp V^IbbVHYk6ypsPHJSw22KTmYhFBO(9* diff --git a/.doctrees/api/datman.scanid.doctree b/.doctrees/api/datman.scanid.doctree index 63bfe916a64d55c89d9bdc6b09c214a97554dfb1..bb79e17196df5e776cc9b344bef33fec065bb9b0 100644 GIT binary patch delta 365 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 delta 20845 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 IIqM4l5B2-B!2kdN diff --git a/.doctrees/api/datman.xnat.doctree b/.doctrees/api/datman.xnat.doctree index 8f1124fa8333c776109fa1c6ea3ff8a654da41ec..e9ecf139f79446631fb3502c45cd080ad1870b15 100644 GIT binary patch delta 573 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 D-VAah diff --git a/api/datman.config.html b/api/datman.config.html index 7f5b09e5..168274ae 100644 --- a/api/datman.config.html +++ b/api/datman.config.html @@ -112,16 +112,16 @@

These can both be overridden at __init__.py

-class datman.config.TagInfo(export_settings, site_settings=None)[source]
+class datman.config.TagInfo(export_settings, site_settings=None)[source]

Bases: object

-get(tag, field=None)[source]
+get(tag, field=None)[source]
-keys()[source]
+keys()[source]
@@ -135,11 +135,11 @@
-class datman.config.config(filename=None, system=None, study=None)[source]
+class datman.config.config(filename=None, system=None, study=None)[source]

Bases: object

-get_key(key, site=None, ignore_defaults=False, defaults_only=False)[source]
+get_key(key, site=None, ignore_defaults=False, defaults_only=False)[source]

Searches the configuration from most specific settings to least to allow overrides + additional settings to be discovered.

Searches from site (if given) -> study -> local system -> system wide

@@ -153,24 +153,24 @@
-get_path(path_type, study=None)[source]
+get_path(path_type, study=None)[source]

returns the absolute path to a folder type

-get_sites(study=None)[source]
+get_sites(study=None)[source]
-get_study_base(study=None)[source]
+get_study_base(study=None)[source]

Return the base directory for a study

-get_study_tags(study=None)[source]
+get_study_tags(study=None)[source]

Returns a dictionary of study tags mapped to the sites defined for that tag.

If a study has not been set then an exception is raised

@@ -178,7 +178,7 @@
-get_tags(site=None, study=None)[source]
+get_tags(site=None, study=None)[source]

Returns a TagInfo instance.

If you get the tags without a study set or without specifying a site you get the configuration of all defined tags from ‘ExportSettings’ in @@ -192,7 +192,7 @@

-get_xnat_projects(study=None)[source]
+get_xnat_projects(study=None)[source]
@@ -202,12 +202,12 @@
-load_yaml(filename)[source]
+load_yaml(filename)[source]
-map_xnat_archive_to_project(filename)[source]
+map_xnat_archive_to_project(filename)[source]

Maps the XNAT tag (e.g. SPN01) to the project name e.g. SPINS Can either supply a full filename in which case only the first part is considered or just a tag.

@@ -222,7 +222,7 @@
-set_study(study_name)[source]
+set_study(study_name)[source]

This function can take just the study ID for every study except DTI. So where possible, please give it an exact match to a project name or a full session ID.

@@ -252,7 +252,7 @@
-datman.config.study_required(wrapper=None, enabled=None, adapter=None, proxy=<class 'FunctionWrapper'>)[source]
+datman.config.study_required(wrapper=None, enabled=None, adapter=None, proxy=<class 'FunctionWrapper'>)[source]
diff --git a/api/datman.dashboard.html b/api/datman.dashboard.html index 5ba6ba64..f6f118b0 100644 --- a/api/datman.dashboard.html +++ b/api/datman.dashboard.html @@ -106,27 +106,27 @@

datman.dashboard module

-datman.dashboard.add_scan(name, tag=None, series=None, description=None, source_id=None)[source]
+datman.dashboard.add_scan(name, tag=None, series=None, description=None, source_id=None)[source]
-datman.dashboard.add_session(name, date=None)[source]
+datman.dashboard.add_session(name, date=None)[source]
-datman.dashboard.add_subject(name)[source]
+datman.dashboard.add_subject(name)[source]
-datman.dashboard.dashboard_required(f)[source]
+datman.dashboard.dashboard_required(f)[source]
-datman.dashboard.filename_required(f)[source]
+datman.dashboard.filename_required(f)[source]

This decorator checks that the wrapped function has received a datman style file name as either a string or as a datman.scanid.Identifier instance with kwargs tag, series, and description set.

@@ -136,22 +136,22 @@
-datman.dashboard.get_bids_scan(name)[source]
+datman.dashboard.get_bids_scan(name)[source]
-datman.dashboard.get_bids_subject(bids_name, bids_session, study=None)[source]
+datman.dashboard.get_bids_subject(bids_name, bids_session, study=None)[source]
-datman.dashboard.get_default_user()[source]
+datman.dashboard.get_default_user()[source]
-datman.dashboard.get_project(name=None, tag=None, site=None, create=False)[source]
+datman.dashboard.get_project(name=None, tag=None, site=None, create=False)[source]

Return a study from the dashboard database that either matches the study name (e.g. ‘SPINS’) or matches a study tag (e.g. ‘SPN01’) + an optional site code to help locate the correct study when the same code @@ -160,17 +160,17 @@

-datman.dashboard.get_scan(name, tag=None, series=None, description=None, source_id=None, create=False)[source]
+datman.dashboard.get_scan(name, tag=None, series=None, description=None, source_id=None, create=False)[source]
-datman.dashboard.get_session(name, create=False, date=None)[source]
+datman.dashboard.get_session(name, create=False, date=None)[source]
-datman.dashboard.get_study_subjects(study, site=None, phantoms=False)[source]
+datman.dashboard.get_study_subjects(study, site=None, phantoms=False)[source]

Pulls a list of subjects from the dashboard from a specified study

Parameters
@@ -188,12 +188,12 @@
-datman.dashboard.get_subject(name, create=False)[source]
+datman.dashboard.get_subject(name, create=False)[source]
-datman.dashboard.release_db(f)[source]
+datman.dashboard.release_db(f)[source]

This decorator ensures that transactions are ended after exit.

Read operations on the database open a transaction. This transaction isnt terminated until a rollback or commit happens or until the @@ -204,7 +204,7 @@

-datman.dashboard.scanid_required(f)[source]
+datman.dashboard.scanid_required(f)[source]

This decorator checks that the wrapped function’s first argument is an instance of datman.scanid.Identifier and attempts to convert it if not.

A DashboardException will be raised if an Identifier isn’t found or can’t @@ -213,7 +213,7 @@

-datman.dashboard.set_study_status(name, is_open)[source]
+datman.dashboard.set_study_status(name, is_open)[source]
diff --git a/api/datman.exceptions.html b/api/datman.exceptions.html index 314df411..eff7aa68 100644 --- a/api/datman.exceptions.html +++ b/api/datman.exceptions.html @@ -107,64 +107,64 @@

Defines the exceptions used by datman sub-modules

-exception datman.exceptions.ConfigException[source]
+exception datman.exceptions.ConfigException[source]

Bases: Exception

-exception datman.exceptions.DashboardException[source]
+exception datman.exceptions.DashboardException[source]

Bases: Exception

Default exception for dashboard errors

-exception datman.exceptions.ExportException[source]
+exception datman.exceptions.ExportException[source]

Bases: Exception

-exception datman.exceptions.ExporterException[source]
+exception datman.exceptions.ExporterException[source]

Bases: Exception

Default exception for errors exporting data from raw.

-exception datman.exceptions.InputException[source]
+exception datman.exceptions.InputException[source]

Bases: Exception

-exception datman.exceptions.MetadataException[source]
+exception datman.exceptions.MetadataException[source]

Bases: Exception

-exception datman.exceptions.ParseException[source]
+exception datman.exceptions.ParseException[source]

Bases: Exception

For participant ID parsing issues.

-exception datman.exceptions.QCException[source]
+exception datman.exceptions.QCException[source]

Bases: Exception

-exception datman.exceptions.UndefinedSetting[source]
+exception datman.exceptions.UndefinedSetting[source]

Bases: Exception

-exception datman.exceptions.XnatException[source]
+exception datman.exceptions.XnatException[source]

Bases: Exception

Default exception for XNAT errors

diff --git a/api/datman.exporters.html b/api/datman.exporters.html index d8cd2c76..d37a112a 100644 --- a/api/datman.exporters.html +++ b/api/datman.exporters.html @@ -114,17 +114,17 @@ unique key that can be referenced in config files (e.g. ‘nii’).

-class datman.exporters.BidsExporter(config, session, experiment, bids_opts=None, **kwargs)[source]
+class datman.exporters.BidsExporter(config, session, experiment, bids_opts=None, **kwargs)[source]

Bases: datman.exporters.SessionExporter

An exporter that runs dcm2bids.

-add_repeat_num()[source]
+add_repeat_num()[source]
-export(raw_data_dir, **kwargs)[source]
+export(raw_data_dir, **kwargs)[source]

Exports raw data to the current Exporter’s format.

Parameters
@@ -136,12 +136,12 @@
-get_sidecars()[source]
+get_sidecars()[source]
-needs_raw_data()[source]
+needs_raw_data()[source]

Whether raw data must be downloaded for the Exporter.

Returns
@@ -159,7 +159,7 @@
-outputs_exist()[source]
+outputs_exist()[source]

Whether outputs have already been generated for this Exporter.

Returns
@@ -180,12 +180,12 @@
-class datman.exporters.DBExporter(config, session, experiment, **kwargs)[source]
+class datman.exporters.DBExporter(config, session, experiment, **kwargs)[source]

Bases: datman.exporters.SessionExporter

Add a datman-style session and its contents to datman’s QC dashboard.

-add_tech_notes(session)[source]
+add_tech_notes(session)[source]

Add the path to a scan session’s tech notes to the database.

Parameters
@@ -197,12 +197,12 @@
-errors_outdated(scan, fname)[source]
+errors_outdated(scan, fname)[source]
-export(*args, **kwargs)[source]
+export(*args, **kwargs)[source]

Exports raw data to the current Exporter’s format.

Parameters
@@ -214,7 +214,7 @@
-get_bids_name(dm_name, session)[source]
+get_bids_name(dm_name, session)[source]

Get BIDS style scan name from a datman style nifti.

Returns
@@ -232,13 +232,13 @@
-classmethod get_output_dir(session)[source]
+classmethod get_output_dir(session)[source]

Retrieve the exporter’s output dir without needing an instance.

-make_scan(file_stem)[source]
+make_scan(file_stem)[source]

Add a single scan to datman’s QC dashboard.

Parameters
@@ -249,7 +249,7 @@
-make_session()[source]
+make_session()[source]

Add the current session to datman’s QC database.

Returns
@@ -282,7 +282,7 @@
-needs_raw_data()[source]
+needs_raw_data()[source]

Whether raw data must be downloaded for the Exporter.

Returns
@@ -300,7 +300,7 @@
-outputs_exist()[source]
+outputs_exist()[source]

Whether outputs have already been generated for this Exporter.

Returns
@@ -321,12 +321,12 @@
-class datman.exporters.DcmExporter(output_dir, fname_root, echo_dict=None, dry_run=False, **kwargs)[source]
+class datman.exporters.DcmExporter(output_dir, fname_root, echo_dict=None, dry_run=False, **kwargs)[source]

Bases: datman.exporters.SeriesExporter

Export a single dicom from a scan.

-export(raw_data_dir, **kwargs)[source]
+export(raw_data_dir, **kwargs)[source]

Exports raw data to the current Exporter’s format.

Parameters
@@ -350,12 +350,12 @@
-class datman.exporters.Exporter[source]
+class datman.exporters.Exporter[source]

Bases: abc.ABC

An abstract base class for all Exporters.

-abstract export(raw_data_dir, **kwargs)[source]
+abstract export(raw_data_dir, **kwargs)[source]

Exports raw data to the current Exporter’s format.

Parameters
@@ -367,13 +367,13 @@
-classmethod get_output_dir(session)[source]
+classmethod get_output_dir(session)[source]

Retrieve the exporter’s output dir without needing an instance.

-make_output_dir()[source]
+make_output_dir()[source]

Creates the directory where the Exporter’s outputs will be stored.

Returns
@@ -387,7 +387,7 @@
-abstract needs_raw_data()[source]
+abstract needs_raw_data()[source]

Whether raw data must be downloaded for the Exporter.

Returns
@@ -405,7 +405,7 @@
-abstract outputs_exist()[source]
+abstract outputs_exist()[source]

Whether outputs have already been generated for this Exporter.

Returns
@@ -426,12 +426,12 @@
-class datman.exporters.NiiExporter(output_dir, fname_root, echo_dict=None, dry_run=False, **kwargs)[source]
+class datman.exporters.NiiExporter(output_dir, fname_root, echo_dict=None, dry_run=False, **kwargs)[source]

Bases: datman.exporters.SeriesExporter

Export a series to nifti format with datman-style names.

-export(raw_data_dir, **kwargs)[source]
+export(raw_data_dir, **kwargs)[source]

Exports raw data to the current Exporter’s format.

Parameters
@@ -448,7 +448,7 @@
-move_file(gen_file)[source]
+move_file(gen_file)[source]

Move the temp outputs of dcm2niix to the intended output directory.

Parameters
@@ -460,7 +460,7 @@
-report_issues(stem, messages)[source]
+report_issues(stem, messages)[source]

Write an error log if dcm2niix had errors during conversion.

Parameters
@@ -482,12 +482,12 @@
-class datman.exporters.NiiLinkExporter(config, session, experiment, **kwargs)[source]
+class datman.exporters.NiiLinkExporter(config, session, experiment, **kwargs)[source]

Bases: datman.exporters.SessionExporter

Populates a study’s nii folder with symlinks pointing to the bids dir.

-belongs_to_session(nifti_path)[source]
+belongs_to_session(nifti_path)[source]

Check if a nifti belongs to this repeat or another for this session.

Parameters
@@ -509,7 +509,7 @@
-clear_errors(dm_file)[source]
+clear_errors(dm_file)[source]

Remove an error file from a previous BIDs export issue.

Parameters
@@ -520,7 +520,7 @@
-export(*args, **kwargs)[source]
+export(*args, **kwargs)[source]

Exports raw data to the current Exporter’s format.

Parameters
@@ -537,7 +537,7 @@
-get_bids_niftis()[source]
+get_bids_niftis()[source]

Get all nifti files from a BIDS session.

Returns
@@ -555,7 +555,7 @@
-get_dm_names()[source]
+get_dm_names()[source]

Get the datman-style scan names for an entire XNAT experiment.

Returns
@@ -573,18 +573,18 @@
-get_error_file(dm_file)[source]
+get_error_file(dm_file)[source]
-classmethod get_output_dir(session)[source]
+classmethod get_output_dir(session)[source]

Retrieve the exporter’s output dir without needing an instance.

-get_series_num(side_car)[source]
+get_series_num(side_car)[source]

Find the correct series number for a scan.

Most JSON side car files have the correct series number already. However, series that are split during nifti conversion (e.g. @@ -607,7 +607,7 @@

-make_datman_name(bids_path, scan_tag)[source]
+make_datman_name(bids_path, scan_tag)[source]

Create a Datman-style file name for a bids file.

Parameters
@@ -628,7 +628,7 @@
+make_link(dm_file, bids_file)[source]

Create a symlink in the datman style that points to a bids file.

Parameters
@@ -643,7 +643,7 @@
-match_dm_to_bids(dm_names, bids_names)[source]
+match_dm_to_bids(dm_names, bids_names)[source]

Match each datman file name to its BIDS equivalent.

Parameters
@@ -671,7 +671,7 @@
-needs_raw_data()[source]
+needs_raw_data()[source]

Whether raw data must be downloaded for the Exporter.

Returns
@@ -689,7 +689,7 @@
-outputs_exist()[source]
+outputs_exist()[source]

Whether outputs have already been generated for this Exporter.

Returns
@@ -703,7 +703,7 @@
-report_errors(dm_file)[source]
+report_errors(dm_file)[source]

Create an error file to report probable BIDS conversion issues.

Parameters
@@ -721,7 +721,7 @@
-class datman.exporters.SeriesExporter(output_dir, fname_root, echo_dict=None, dry_run=False, **kwargs)[source]
+class datman.exporters.SeriesExporter(output_dir, fname_root, echo_dict=None, dry_run=False, **kwargs)[source]

Bases: datman.exporters.Exporter

A base class for exporters that take a single series as input.

@@ -731,7 +731,7 @@
-needs_raw_data()[source]
+needs_raw_data()[source]

Whether raw data must be downloaded for the Exporter.

Returns
@@ -749,7 +749,7 @@
-outputs_exist()[source]
+outputs_exist()[source]

Whether outputs have already been generated for this Exporter.

Returns
@@ -765,7 +765,7 @@
-class datman.exporters.SessionExporter(config, session, experiment, dry_run=False, **kwargs)[source]
+class datman.exporters.SessionExporter(config, session, experiment, dry_run=False, **kwargs)[source]

Bases: datman.exporters.Exporter

A base class for exporters that take an entire session as input.

Subclasses should override __init__ (without changing basic input args) @@ -776,12 +776,12 @@

-class datman.exporters.SharedExporter(config, session, experiment, bids_opts=None, **kwargs)[source]
+class datman.exporters.SharedExporter(config, session, experiment, bids_opts=None, **kwargs)[source]

Bases: datman.exporters.SessionExporter

Export an XNAT ‘shared’ experiment.

-export(*args, **kwargs)[source]
+export(*args, **kwargs)[source]

Exports raw data to the current Exporter’s format.

Parameters
@@ -798,7 +798,7 @@
-find_bids_files(name_map=None)[source]
+find_bids_files(name_map=None)[source]

Find all bids files that have been created for the source session.

Parameters
@@ -820,7 +820,7 @@
-find_dm_files(dir_type, name_map=None)[source]
+find_dm_files(dir_type, name_map=None)[source]

Find datman-style source files in all listed directory types.

Parameters
@@ -847,7 +847,7 @@
-find_resource_files(name_map=None)[source]
+find_resource_files(name_map=None)[source]

Find all source session resources files.

Parameters
@@ -869,7 +869,7 @@
-find_source_session(config, experiment)[source]
+find_source_session(config, experiment)[source]

Find the original data on the filesystem.

Parameters
@@ -895,13 +895,13 @@
-classmethod get_output_dir(session)[source]
+classmethod get_output_dir(session)[source]

Retrieve the exporter’s output dir without needing an instance.

-make_name_map(dm_dirs, use_bids=False)[source]
+make_name_map(dm_dirs, use_bids=False)[source]

Create a dictionary of source files to their ‘shared’ alias.

Parameters
@@ -928,7 +928,7 @@
-needs_raw_data()[source]
+needs_raw_data()[source]

Whether raw data must be downloaded for the Exporter.

Returns
@@ -946,7 +946,7 @@
-outputs_exist()[source]
+outputs_exist()[source]

Whether outputs have already been generated for this Exporter.

Returns
@@ -967,7 +967,7 @@
-datman.exporters.get_exporter(key, scope='series')[source]
+datman.exporters.get_exporter(key, scope='series')[source]

Find an exporter class for a given key identifier.

Parameters
diff --git a/api/datman.fs_log_scraper.html b/api/datman.fs_log_scraper.html index a9bc6cf2..b98acddb 100644 --- a/api/datman.fs_log_scraper.html +++ b/api/datman.fs_log_scraper.html @@ -110,63 +110,63 @@

The FSLog class aggregates/parses the most useful details from the log files.

-class datman.fs_log_scraper.FSLog(freesurfer_folder)[source]
+class datman.fs_log_scraper.FSLog(freesurfer_folder)[source]

Bases: object

-static get_args(cmd_args)[source]
+static get_args(cmd_args)[source]
-get_date(date_str)[source]
+get_date(date_str)[source]
-get_kernel(log_uname)[source]
+get_kernel(log_uname)[source]
-static get_niftis(cmd_args)[source]
+static get_niftis(cmd_args)[source]
-get_subject(subject_field)[source]
+get_subject(subject_field)[source]
-parse_recon_done(recon_done)[source]
+parse_recon_done(recon_done)[source]
-read_log(path)[source]
+read_log(path)[source]
-datman.fs_log_scraper.check_diff(log_field, standards_field)[source]
+datman.fs_log_scraper.check_diff(log_field, standards_field)[source]
-datman.fs_log_scraper.choose_standard_sub(subject_logs)[source]
+datman.fs_log_scraper.choose_standard_sub(subject_logs)[source]
-datman.fs_log_scraper.make_standards(standard_log)[source]
+datman.fs_log_scraper.make_standards(standard_log)[source]
-datman.fs_log_scraper.scrape_logs(fs_output_folders, standards=None, col_headers=False)[source]
+datman.fs_log_scraper.scrape_logs(fs_output_folders, standards=None, col_headers=False)[source]

Takes a list of paths to freesurfer output folders and generates a list of log lines containing differences relative to a ‘standard’ subject.

A field will be left empty if no differences are found

@@ -174,7 +174,7 @@
-datman.fs_log_scraper.verify_standards(standards_dict, expected_keys)[source]
+datman.fs_log_scraper.verify_standards(standards_dict, expected_keys)[source]
diff --git a/api/datman.header_checks.html b/api/datman.header_checks.html index 42337f60..ddf146ec 100644 --- a/api/datman.header_checks.html +++ b/api/datman.header_checks.html @@ -108,47 +108,47 @@ files.

-datman.header_checks.check_bvals(series_path, standard_path)[source]
+datman.header_checks.check_bvals(series_path, standard_path)[source]
-datman.header_checks.compare_headers(series, standard, ignore=None, tolerance=None)[source]
+datman.header_checks.compare_headers(series, standard, ignore=None, tolerance=None)[source]
-datman.header_checks.construct_diffs(series_json, standard_json, ignored_fields=None, tolerances=None, dti=False)[source]
+datman.header_checks.construct_diffs(series_json, standard_json, ignored_fields=None, tolerances=None, dti=False)[source]
-datman.header_checks.find_bvals(json_path)[source]
+datman.header_checks.find_bvals(json_path)[source]
-datman.header_checks.handle_diff(value, expected, tolerance=None)[source]
+datman.header_checks.handle_diff(value, expected, tolerance=None)[source]
-datman.header_checks.parse_file(file_path)[source]
+datman.header_checks.parse_file(file_path)[source]
-datman.header_checks.read_json(json_file)[source]
+datman.header_checks.read_json(json_file)[source]
-datman.header_checks.remove_fields(json_contents, fields)[source]
+datman.header_checks.remove_fields(json_contents, fields)[source]
-datman.header_checks.write_diff_log(diffs, output_path)[source]
+datman.header_checks.write_diff_log(diffs, output_path)[source]
diff --git a/api/datman.metrics.html b/api/datman.metrics.html index c798deaa..87e2dab1 100644 --- a/api/datman.metrics.html +++ b/api/datman.metrics.html @@ -107,11 +107,11 @@

Classes and functions for generating QC metrics.

-class datman.metrics.ABCDPHAMetrics(input_nii, output_dir)[source]
+class datman.metrics.ABCDPHAMetrics(input_nii, output_dir)[source]

Bases: datman.metrics.Metric

-generate()[source]
+generate()[source]
@@ -123,11 +123,11 @@
-class datman.metrics.AnatMetrics(input_nii, output_dir)[source]
+class datman.metrics.AnatMetrics(input_nii, output_dir)[source]

Bases: datman.metrics.Metric

-generate(img_gap=5, width=1600)[source]
+generate(img_gap=5, width=1600)[source]
@@ -139,11 +139,11 @@
-class datman.metrics.AnatPHAMetrics(input_nii, output_dir)[source]
+class datman.metrics.AnatPHAMetrics(input_nii, output_dir)[source]

Bases: datman.metrics.Metric

-generate()[source]
+generate()[source]
@@ -155,11 +155,11 @@
-class datman.metrics.DTIMetrics(nii_input, output_dir, bval=None, bvec=None)[source]
+class datman.metrics.DTIMetrics(nii_input, output_dir, bval=None, bvec=None)[source]

Bases: datman.metrics.MetricDTI

-generate(img_gap=2, width=1600)[source]
+generate(img_gap=2, width=1600)[source]
@@ -171,11 +171,11 @@
-class datman.metrics.DTIPHAMetrics(nii_input, output_dir, bval=None, bvec=None)[source]
+class datman.metrics.DTIPHAMetrics(nii_input, output_dir, bval=None, bvec=None)[source]

Bases: datman.metrics.MetricDTI

-generate()[source]
+generate()[source]
@@ -187,11 +187,11 @@
-class datman.metrics.FMRIMetrics(input_nii, output_dir)[source]
+class datman.metrics.FMRIMetrics(input_nii, output_dir)[source]

Bases: datman.metrics.Metric

-generate(img_gap=2, width=1600)[source]
+generate(img_gap=2, width=1600)[source]
@@ -203,11 +203,11 @@
-class datman.metrics.FMRIPHAMetrics(input_nii, output_dir)[source]
+class datman.metrics.FMRIPHAMetrics(input_nii, output_dir)[source]

Bases: datman.metrics.Metric

-generate()[source]
+generate()[source]
@@ -219,16 +219,16 @@
-class datman.metrics.IgnoreMetrics(input_nii, output_dir)[source]
+class datman.metrics.IgnoreMetrics(input_nii, output_dir)[source]

Bases: datman.metrics.Metric

-exists()[source]
+exists()[source]
-generate()[source]
+generate()[source]
@@ -238,43 +238,43 @@
-write_manifest(overwrite=False)[source]
+write_manifest(overwrite=False)[source]
-class datman.metrics.Metric(input_nii, output_dir)[source]
+class datman.metrics.Metric(input_nii, output_dir)[source]

Bases: abc.ABC

-command_succeeded(command_name)[source]
+command_succeeded(command_name)[source]
-exists()[source]
+exists()[source]
-abstract generate()[source]
+abstract generate()[source]
-classmethod get_requirements()[source]
+classmethod get_requirements()[source]
-classmethod is_runnable()[source]
+classmethod is_runnable()[source]
-make_image(output, img_gap=2, width=1600, nii_input=None)[source]
+make_image(output, img_gap=2, width=1600, nii_input=None)[source]

Uses FSL’s slicer function to generate a png from a nifti file.

Parameters
@@ -293,12 +293,12 @@
-make_manifest()[source]
+make_manifest()[source]
-make_montage(output)[source]
+make_montage(output)[source]

Uses FSL’s slicer function to generate a montage of three slices.

Parameters
@@ -314,12 +314,12 @@
-abstract outputs()[source]
+abstract outputs()[source]
-read_manifest()[source]
+read_manifest()[source]
@@ -329,7 +329,7 @@
-run(command, output)[source]
+run(command, output)[source]

Run a command if outputs are still needed.

Parameters
@@ -347,29 +347,29 @@
-set_outputs()[source]
+set_outputs()[source]
-write_manifest(overwrite=False)[source]
+write_manifest(overwrite=False)[source]
-class datman.metrics.MetricDTI(nii_input, output_dir, bval=None, bvec=None)[source]
+class datman.metrics.MetricDTI(nii_input, output_dir, bval=None, bvec=None)[source]

Bases: datman.metrics.Metric

-class datman.metrics.QAPHAMetrics(nii_input, output_dir, bval=None, bvec=None)[source]
+class datman.metrics.QAPHAMetrics(nii_input, output_dir, bval=None, bvec=None)[source]

Bases: datman.metrics.MetricDTI

-generate()[source]
+generate()[source]
@@ -379,14 +379,14 @@
-update_expected_outputs()[source]
+update_expected_outputs()[source]
-class datman.metrics.QCOutput(order: int = - 1, title: str = None, caption: str = None)[source]
+class datman.metrics.QCOutput(order: int = - 1, title: str = None, caption: str = None)[source]

Bases: object

@@ -407,7 +407,7 @@
-datman.metrics.get_handlers(subject)[source]
+datman.metrics.get_handlers(subject)[source]

Returns the set of QC functions to use for a subject.

Parameters
diff --git a/api/datman.scan.html b/api/datman.scan.html index 7708b90e..3ce812ed 100644 --- a/api/datman.scan.html +++ b/api/datman.scan.html @@ -111,7 +111,7 @@ become out of date if this is not true.

-class datman.scan.DatmanNamed(ident)[source]
+class datman.scan.DatmanNamed(ident)[source]

Bases: object

A parent class for all classes that will obey the datman naming scheme

@@ -123,7 +123,7 @@
-class datman.scan.Scan(subject_id, config, bids_root=None)[source]
+class datman.scan.Scan(subject_id, config, bids_root=None)[source]

Bases: datman.scan.DatmanNamed

Holds all information for a single scan (session).

@@ -142,17 +142,17 @@ datman naming convention

-find_files(file_stem, format='nii')[source]
+find_files(file_stem, format='nii')[source]
-get_resource_dir(session)[source]
+get_resource_dir(session)[source]
-get_tagged_nii(tag)[source]
+get_tagged_nii(tag)[source]
@@ -164,7 +164,7 @@
-class datman.scan.Series(path)[source]
+class datman.scan.Series(path)[source]

Bases: datman.scan.DatmanNamed

Holds all information about a series file of any format (e.g. nifti).

diff --git a/api/datman.scan_list.html b/api/datman.scan_list.html index f3aab9ed..67889bbf 100644 --- a/api/datman.scan_list.html +++ b/api/datman.scan_list.html @@ -131,18 +131,18 @@
-class datman.scan_list.ScanEntryABC(scan_path)[source]
+class datman.scan_list.ScanEntryABC(scan_path)[source]

Bases: object

-abstract get_target_name()[source]
+abstract get_target_name()[source]
-datman.scan_list.generate_scan_list(scan_entry_class, zip_files, dest_dir)[source]
+datman.scan_list.generate_scan_list(scan_entry_class, zip_files, dest_dir)[source]

Use this function to generate a scans.csv file of the expected format.

scan_entry_class: A subclass of ScanEntryABC that will be used to

generate each entry in scans.csv

@@ -154,22 +154,22 @@
-datman.scan_list.get_scan_list_contents(scans_csv)[source]
+datman.scan_list.get_scan_list_contents(scans_csv)[source]
-datman.scan_list.make_new_entries(processed_scans, zip_files, EntryClass)[source]
+datman.scan_list.make_new_entries(processed_scans, zip_files, EntryClass)[source]
-datman.scan_list.start_new_scan_list(output)[source]
+datman.scan_list.start_new_scan_list(output)[source]
-datman.scan_list.update_scans_csv(output, new_entries)[source]
+datman.scan_list.update_scans_csv(output, new_entries)[source]
diff --git a/api/datman.scanid.html b/api/datman.scanid.html index 12a775ff..e48828a3 100644 --- a/api/datman.scanid.html +++ b/api/datman.scanid.html @@ -115,25 +115,25 @@
-class datman.scanid.BIDSFile(subject, session, suffix, task=None, acq=None, ce=None, dir=None, rec=None, run=None, echo=None, mod=None)[source]
+class datman.scanid.BIDSFile(subject, session, suffix, task=None, acq=None, ce=None, dir=None, rec=None, run=None, echo=None, mod=None)[source]

Bases: object

-class datman.scanid.DatmanIdentifier(identifier, settings=None)[source]
+class datman.scanid.DatmanIdentifier(identifier, settings=None)[source]

Bases: datman.scanid.Identifier

Parses a datman-style ID into fields.

The datman convention is detailed here

-get_xnat_experiment_id()[source]
+get_xnat_experiment_id()[source]
-get_xnat_subject_id()[source]
+get_xnat_subject_id()[source]
@@ -165,60 +165,60 @@
-class datman.scanid.Identifier[source]
+class datman.scanid.Identifier[source]

Bases: abc.ABC

-get_bids_name()[source]
+get_bids_name()[source]
-get_full_subjectid()[source]
+get_full_subjectid()[source]
-get_full_subjectid_with_timepoint()[source]
+get_full_subjectid_with_timepoint()[source]
-get_full_subjectid_with_timepoint_session()[source]
+get_full_subjectid_with_timepoint_session()[source]
-abstract get_xnat_experiment_id()[source]
+abstract get_xnat_experiment_id()[source]
-abstract get_xnat_subject_id()[source]
+abstract get_xnat_subject_id()[source]
-match(identifier)[source]
+match(identifier)[source]
-class datman.scanid.KCNIIdentifier(identifier, settings=None)[source]
+class datman.scanid.KCNIIdentifier(identifier, settings=None)[source]

Bases: datman.scanid.Identifier

Parses a KCNI style ID into datman-style fields.

The KCNI convention is detailed here.

-get_xnat_experiment_id()[source]
+get_xnat_experiment_id()[source]
-get_xnat_subject_id()[source]
+get_xnat_subject_id()[source]
@@ -245,7 +245,7 @@
-datman.scanid.get_field(match, field, settings=None)[source]
+datman.scanid.get_field(match, field, settings=None)[source]

Find the value of an ID field, allowing for user specified changes.

Parameters
@@ -273,7 +273,7 @@
-datman.scanid.get_kcni_identifier(identifier, settings=None)[source]
+datman.scanid.get_kcni_identifier(identifier, settings=None)[source]

Get a KCNIIdentifier from a valid string or an identifier.

Parameters
@@ -303,39 +303,39 @@
-datman.scanid.get_session_num(ident)[source]
+datman.scanid.get_session_num(ident)[source]

For those times when you always want a numeric session (including for phantoms who are technically always session ‘1’)

-datman.scanid.get_subid(current_subid, settings=None)[source]
+datman.scanid.get_subid(current_subid, settings=None)[source]
-datman.scanid.is_phantom(identifier)[source]
+datman.scanid.is_phantom(identifier)[source]
-datman.scanid.is_scanid(identifier)[source]
+datman.scanid.is_scanid(identifier)[source]
-datman.scanid.is_scanid_with_session(identifier)[source]
+datman.scanid.is_scanid_with_session(identifier)[source]
-datman.scanid.make_filename(ident, tag, series, description, ext=None)[source]
+datman.scanid.make_filename(ident, tag, series, description, ext=None)[source]
-datman.scanid.parse(identifier, settings=None)[source]
+datman.scanid.parse(identifier, settings=None)[source]

Parse a subject ID matching a supported naming convention.

The ‘settings’ flag can be used to exclude any IDs that do not match the specified convention, or to translate certain ID fields to maintain @@ -397,12 +397,12 @@

-datman.scanid.parse_bids_filename(path)[source]
+datman.scanid.parse_bids_filename(path)[source]
-datman.scanid.parse_filename(path)[source]
+datman.scanid.parse_filename(path)[source]

Parse a datman style file name.

Parameters
diff --git a/api/datman.utils.html b/api/datman.utils.html index ce340897..1444dfe8 100644 --- a/api/datman.utils.html +++ b/api/datman.utils.html @@ -107,13 +107,13 @@

A collection of utilities for generally munging imaging data.

-class datman.utils.XNATConnection(xnat_url, user_name, password)[source]
+class datman.utils.XNATConnection(xnat_url, user_name, password)[source]

Bases: object

-class datman.utils.cd(path)[source]
+class datman.utils.cd(path)[source]

Bases: object

A context manager for changing directory. Since best practices dictate returning to the original directory, saves the original directory and @@ -124,7 +124,7 @@

-datman.utils.check_dependency_configured(program_name, shell_cmd=None, env_vars=None)[source]
+datman.utils.check_dependency_configured(program_name, shell_cmd=None, env_vars=None)[source]
<program_name> Name to add to the exception message if the program is

not correctly configured.

@@ -140,12 +140,12 @@
-datman.utils.check_returncode(returncode)[source]
+datman.utils.check_returncode(returncode)[source]
-datman.utils.define_folder(path)[source]
+datman.utils.define_folder(path)[source]

Sets a variable to be the path to a folder. Also, if the folder does not exist, this makes it so, unless we lack the permissions to do so, which leads to a graceful exit.

@@ -153,18 +153,15 @@
-datman.utils.filter_niftis(candidates)[source]
+datman.utils.filter_niftis(candidates)[source]

Takes a list and returns all items that contain the extensions ‘.nii’ or ‘.nii.gz’.

-datman.utils.find_tech_notes(folder)[source]
-

Find any technotes located within a folder.

-

If only one PDF is found it is assumed to be the tech notes. If multiple -are found, unless one contains the string ‘TechNotes’, the first pdf is -guessed to be the tech notes.

+datman.utils.find_tech_notes(folder)[source] +

Find any technotes located within a given folder.

Parameters

folder (str) – A full path to a folder to search.

@@ -184,7 +181,7 @@
-datman.utils.get_all_headers_in_folder(path, recurse=False)[source]
+datman.utils.get_all_headers_in_folder(path, recurse=False)[source]

Get DICOM headers for all files in the given path.

Returns a dictionary mapping path->headers for all files (headers == None for files that are not dicoms).

@@ -192,7 +189,7 @@
-datman.utils.get_archive_headers(path, stop_after_first=False)[source]
+datman.utils.get_archive_headers(path, stop_after_first=False)[source]

Get dicom headers from a scan archive.

Path can be a path to a tarball or zip of dicom folders, or a folder. It is assumed that this archive contains the dicoms from a single exam, organized @@ -206,7 +203,7 @@

-datman.utils.get_extension(path)[source]
+datman.utils.get_extension(path)[source]

Get the filename extension on this path.

This is a slightly more sophisticated version of os.path.splitext in that this will correctly return the extension for ‘.tar.gz’ files, for example. @@ -215,7 +212,7 @@

-datman.utils.get_files_with_tag(parentdir, tag, fuzzy=False)[source]
+datman.utils.get_files_with_tag(parentdir, tag, fuzzy=False)[source]

Returns a list of files that have the specified tag.

Filenames must conform to the datman naming convention (see scanid.parse_filename) in order to be considered.

@@ -225,13 +222,13 @@
-datman.utils.get_folder_headers(path, stop_after_first=False)[source]
+datman.utils.get_folder_headers(path, stop_after_first=False)[source]

Generate a dictionary of subfolders and dicom headers.

-datman.utils.get_loaded_modules()[source]
+datman.utils.get_loaded_modules()[source]

Returns a space separated list of loaded modules

These are modules loaded by the environment-modules system. This function just looks in the LOADEDMODULES environment variable for the list.

@@ -239,17 +236,17 @@
-datman.utils.get_relative_source(source, target)[source]
+datman.utils.get_relative_source(source, target)[source]
-datman.utils.get_resources(open_zipfile)[source]
+datman.utils.get_resources(open_zipfile)[source]
-datman.utils.get_subject_metadata(config=None, study=None, allow_partial=False)[source]
+datman.utils.get_subject_metadata(config=None, study=None, allow_partial=False)[source]

Returns all QC’d session IDs mapped to any blacklisted scans they have

This will collect and organize all checklist and blacklist data for a study. Sessions that do not have a completed checklist entry will have @@ -282,67 +279,67 @@

-datman.utils.get_tarfile_headers(path, stop_after_first=False)[source]
+datman.utils.get_tarfile_headers(path, stop_after_first=False)[source]

Get headers for dicom files within a tarball

-datman.utils.get_xnat_credentials(config, xnat_cred)[source]
+datman.utils.get_xnat_credentials(config, xnat_cred)[source]
-datman.utils.get_zipfile_headers(path, stop_after_first=False)[source]
+datman.utils.get_zipfile_headers(path, stop_after_first=False)[source]

Get headers for a dicom file within a zipfile

-datman.utils.has_permissions(path)[source]
+datman.utils.has_permissions(path)[source]

Checks for write access to submitted path.

-datman.utils.is_dicom(fileobj)[source]
+datman.utils.is_dicom(fileobj)[source]
-datman.utils.is_named_like_a_dicom(path)[source]
+datman.utils.is_named_like_a_dicom(path)[source]
-datman.utils.locate_metadata(filename, study=None, subject=None, config=None, path=None)[source]
+datman.utils.locate_metadata(filename, study=None, subject=None, config=None, path=None)[source]
-datman.utils.make_temp_directory(suffix='', prefix='tmp', path=None)[source]
+datman.utils.make_temp_directory(suffix='', prefix='tmp', path=None)[source]
-datman.utils.make_zip(source_dir, dest_zip)[source]
+datman.utils.make_zip(source_dir, dest_zip)[source]
-datman.utils.makedirs(path)[source]
+datman.utils.makedirs(path)[source]

Make the directory (including parent directories) if they don’t exist

-datman.utils.nifti_basename(fpath)[source]
+datman.utils.nifti_basename(fpath)[source]

return basename without extension (either .nii.gz or .nii)

-datman.utils.read_blacklist(study=None, scan=None, subject=None, config=None, path=None, bids_ses=None, use_bids=False)[source]
+datman.utils.read_blacklist(study=None, scan=None, subject=None, config=None, path=None, bids_ses=None, use_bids=False)[source]

This function is used to look up blacklisted scans. If the dashboard is found it ONLY checks the dashboard database. Otherwise it expects a datman style ‘blacklist’ file on the filesystem.

@@ -380,7 +377,7 @@
-datman.utils.read_checklist(study=None, subject=None, config=None, path=None, bids_id=None, bids_ses=None, use_bids=False)[source]
+datman.utils.read_checklist(study=None, subject=None, config=None, path=None, bids_id=None, bids_ses=None, use_bids=False)[source]

This function is used to look-up QC checklist entries. If the dashboard is found it will ONLY check the dashboard database, otherwise it expects a datman style ‘checklist’ file on the filesystem.

@@ -413,22 +410,22 @@
-datman.utils.read_credentials(cred_file)[source]
+datman.utils.read_credentials(cred_file)[source]
-datman.utils.read_json(path)[source]
+datman.utils.read_json(path)[source]
-datman.utils.remove_empty_files(path)[source]
+datman.utils.remove_empty_files(path)[source]
-datman.utils.run(cmd, dryrun=False, specialquote=True, verbose=True)[source]
+datman.utils.run(cmd, dryrun=False, specialquote=True, verbose=True)[source]

Runs the command in default shell, returning STDOUT and a return code. The return code uses the python convention of 0 for success, non-zero for failure

@@ -436,13 +433,13 @@
-datman.utils.run_dummy_q(list_of_names)[source]
+datman.utils.run_dummy_q(list_of_names)[source]

This holds the script until all of the queued items are done.

-datman.utils.split_path(path)[source]
+datman.utils.split_path(path)[source]

Splits a path into all the component parts, returns a list

>>> split_path('a/b/c/d.txt')
 ['a', 'b', 'c', 'd.txt']
@@ -452,14 +449,14 @@
 
 
-datman.utils.splitext(path)[source]
+datman.utils.splitext(path)[source]

Function that will remove extension, including specially-defined extensions that fool os.path.splitext

-datman.utils.submit_job(cmd, job_name, log_dir, system='other', cpu_cores=1, walltime='2:00:00', dryrun=False, partition=None, argslist='', workdir='/tmp')[source]
+datman.utils.submit_job(cmd, job_name, log_dir, system='other', cpu_cores=1, walltime='2:00:00', dryrun=False, partition=None, argslist='', workdir='/tmp')[source]

submits a job or joblist the queue depending on the system

Parameters
@@ -481,12 +478,12 @@
-datman.utils.update_blacklist(entries, study=None, config=None, path=None)[source]
+datman.utils.update_blacklist(entries, study=None, config=None, path=None)[source]
-datman.utils.update_checklist(entries, study=None, config=None, path=None)[source]
+datman.utils.update_checklist(entries, study=None, config=None, path=None)[source]

Add or update QC checklist entries.

This will preferentially update the dashboard database (ignoring any ‘checklist.csv’ files) unless the dashboard is not installed or a specific @@ -513,7 +510,7 @@

-datman.utils.validate_subject_id(subject_id, config)[source]
+datman.utils.validate_subject_id(subject_id, config)[source]

Ensures subject ID correctness based on configuration settings.

This checks that a given ID:
    @@ -551,12 +548,12 @@
    -datman.utils.write_json(path, contents)[source]
    +datman.utils.write_json(path, contents)[source]
    -datman.utils.write_metadata(lines, path, retry=3)[source]
    +datman.utils.write_metadata(lines, path, retry=3)[source]

    Repeatedly attempts to write lines to <path>. The destination file will be overwritten with <lines> so any contents you wish to preserve should be contained within the list.

    diff --git a/api/datman.xnat.html b/api/datman.xnat.html index d8e75be5..e1a90910 100644 --- a/api/datman.xnat.html +++ b/api/datman.xnat.html @@ -107,11 +107,11 @@

    Module to interact with the xnat server

    -class datman.xnat.XNATExperiment(project, subject_name, experiment_json)[source]
    +class datman.xnat.XNATExperiment(project, subject_name, experiment_json)[source]

    Bases: datman.xnat.XNATObject

    -assign_scan_names(config, ident)[source]
    +assign_scan_names(config, ident)[source]

    Assign a datman style name to each scan in this experiment.

    This will populate the XnatScan.names and XnatScan.tags fields for any scan that matches the study’s export configuration.

    @@ -129,7 +129,7 @@
    -download(xnat, dest_folder, zip_name=None)[source]
    +download(xnat, dest_folder, zip_name=None)[source]

    Download a zip file containing all data for this session. Returns the path to the new file if download is successful, raises an exception if not

    @@ -148,7 +148,7 @@
    -get_autorun_ids(xnat)[source]
    +get_autorun_ids(xnat)[source]

    Find the ID(s) of the ‘autorun.xml’ workflow

    XNAT has this obnoxious, on-by-default and seemingly impossible to disable, ‘workflow’ called AutoRun.xml. It appears to do nothing other @@ -178,13 +178,13 @@

    -get_resources(xnat_connection)[source]
    +get_resources(xnat_connection)[source]

    Returns a list of all resource URIs from this session.

    -is_shared()[source]
    +is_shared()[source]

    Detect if the experiment is shared from another XNAT Project.

    Shared sessions have identical metadata to their source sessions, the only way to tell a link apart from source data is to look for a @@ -195,17 +195,17 @@

    -class datman.xnat.XNATObject[source]
    +class datman.xnat.XNATObject[source]

    Bases: abc.ABC

    -class datman.xnat.XNATScan(experiment, scan_json)[source]
    +class datman.xnat.XNATScan(experiment, scan_json)[source]

    Bases: datman.xnat.XNATObject

    -download(xnat_conn, output_dir)[source]
    +download(xnat_conn, output_dir)[source]

    Download all dicoms for this series.

    This will download all files in the series, and if successful, set the download_dir attribute to the destination folder.

    @@ -229,50 +229,50 @@
    -is_derived()[source]
    +is_derived()[source]
    -is_multiecho()[source]
    +is_multiecho()[source]
    -is_usable(strict=False)[source]
    +is_usable(strict=False)[source]
    -raw_dicoms_exist()[source]
    +raw_dicoms_exist()[source]
    -set_datman_name(base_name, tags)[source]
    +set_datman_name(base_name, tags)[source]
    -set_tag(tag_map)[source]
    +set_tag(tag_map)[source]
    -class datman.xnat.XNATSubject(subject_json)[source]
    +class datman.xnat.XNATSubject(subject_json)[source]

    Bases: datman.xnat.XNATObject

    -datman.xnat.get_auth(username=None, file_path=None)[source]
    +datman.xnat.get_auth(username=None, file_path=None)[source]
    -datman.xnat.get_connection(config, site=None, url=None, auth=None, server_cache=None)[source]
    +datman.xnat.get_connection(config, site=None, url=None, auth=None, server_cache=None)[source]

    Create (or retrieve) a connection to an XNAT server

    Parameters
    @@ -307,19 +307,19 @@
    -datman.xnat.get_port_str(config=None, port=None)[source]
    +datman.xnat.get_port_str(config=None, port=None)[source]

    Returns a port string of the format :portnum

    Will raise KeyError if port is None and config file doesn’t define XnatPort

    -datman.xnat.get_server(config=None, url=None, port=None)[source]
    +datman.xnat.get_server(config=None, url=None, port=None)[source]
    -class datman.xnat.xnat(server, username, password)[source]
    +class datman.xnat.xnat(server, username, password)[source]

    Bases: object

    @@ -328,19 +328,19 @@
    -create_resource_folder(study, session, experiment, label)[source]
    +create_resource_folder(study, session, experiment, label)[source]

    Creates a resource subfolder and returns the xnat identifier.

    -delete_resource(project, session, experiment, resource_group_id, resource_id, retries=3)[source]
    +delete_resource(project, session, experiment, resource_group_id, resource_id, retries=3)[source]

    Delete a resource file from xnat

    -dismiss_autorun(experiment)[source]
    +dismiss_autorun(experiment)[source]

    Mark the AutoRun.xml pipeline as finished.

    AutoRun.xml gets stuck as ‘Queued’ and can cause failures at renaming and deletion. This marks the pipeline as ‘Complete’ to prevent it from @@ -355,7 +355,7 @@

    -find_project(subject_id, projects=None)[source]
    +find_project(subject_id, projects=None)[source]

    Find the project a subject belongs to.

    Parameters
    @@ -381,7 +381,7 @@
    -find_subject(project, exper_id)[source]
    +find_subject(project, exper_id)[source]

    Find the parent subject ID for an experiment.

    Parameters
    @@ -407,7 +407,7 @@
    -get_dicom(project, session, experiment, scan, filename=None, retries=3)[source]
    +get_dicom(project, session, experiment, scan, filename=None, retries=3)[source]

    Downloads a dicom file from xnat to filename If filename is not specified creates a temporary file and returns the path to that, user needs to be responsible @@ -416,7 +416,7 @@

    -get_experiment(project, subject_id, exper_id, create=False)[source]
    +get_experiment(project, subject_id, exper_id, create=False)[source]

    Get an experiment from the XNAT server.

    Parameters
    @@ -447,7 +447,7 @@
    -get_experiment_ids(project, subject='')[source]
    +get_experiment_ids(project, subject='')[source]

    Retrieve all experiment IDs belonging to an XNAT subject.

    Parameters
    @@ -471,7 +471,7 @@
    -get_projects(project='')[source]
    +get_projects(project='')[source]

    Query the XNAT server for project metadata.

    Parameters
    @@ -500,7 +500,7 @@
    -get_resource(project, session, experiment, resource_group_id, resource_id, filename=None, retries=3, zipped=True)[source]
    +get_resource(project, session, experiment, resource_group_id, resource_id, filename=None, retries=3, zipped=True)[source]

    Download a single resource from xnat to filename If filename is not specified creates a temporary file and returns the path to that, user needs to be responsible for @@ -509,7 +509,7 @@

    -get_resource_archive(project, session, experiment, resource_id, filename=None, retries=3)[source]
    +get_resource_archive(project, session, experiment, resource_id, filename=None, retries=3)[source]

    Download a resource archive from xnat to filename If filename is not specified creates a temporary file and returns the path to that, user needs to be responsible format @@ -518,20 +518,20 @@

    -get_resource_ids(study, session, experiment, folderName=None, create=True)[source]
    +get_resource_ids(study, session, experiment, folderName=None, create=True)[source]

    Return a list of resource id’s (subfolders) from an experiment

    -get_resource_list(study, session, experiment, resource_id)[source]
    +get_resource_list(study, session, experiment, resource_id)[source]

    The list of non-dicom resources associated with an experiment returns a list of dicts, mostly interested in ID and name

    -get_scan(project, subject_id, exper_id, scan_id)[source]
    +get_scan(project, subject_id, exper_id, scan_id)[source]

    Get a scan from the XNAT server.

    Parameters
    @@ -561,7 +561,7 @@
    -get_scan_ids(project, subject, experiment)[source]
    +get_scan_ids(project, subject, experiment)[source]

    Retrieve all scan IDs for an XNAT experiment.

    Parameters
    @@ -585,7 +585,7 @@
    -get_subject(project, subject_id, create=False)[source]
    +get_subject(project, subject_id, create=False)[source]

    Get a subject from the XNAT server.

    Parameters
    @@ -615,7 +615,7 @@
    -get_subject_ids(project)[source]
    +get_subject_ids(project)[source]

    Retrieve the IDs for all subjects within an XNAT project.

    Parameters
    @@ -640,7 +640,7 @@
    -make_experiment(project, subject, experiment)[source]
    +make_experiment(project, subject, experiment)[source]

    Make a new (empty) experiment on the XNAT server.

    Parameters
    @@ -658,7 +658,7 @@
    -make_subject(project, subject)[source]
    +make_subject(project, subject)[source]

    Make a new (empty) subject on the XNAT server.

    Parameters
    @@ -675,20 +675,20 @@
    -open_session()[source]
    +open_session()[source]

    Open a session with the XNAT server.

    -put_dicoms(project, subject, experiment, filename, retries=3)[source]
    +put_dicoms(project, subject, experiment, filename, retries=3)[source]

    Upload an archive of dicoms to XNAT filename: archive to upload

    -put_resource(project, subject, experiment, filename, data, folder, retries=3)[source]
    +put_resource(project, subject, experiment, filename, data, folder, retries=3)[source]

    POST a resource file to the xnat server

    Parameters
    @@ -703,7 +703,7 @@
    -rename_experiment(project, subject, old_name, new_name)[source]
    +rename_experiment(project, subject, old_name, new_name)[source]

    Change an experiment’s name on XNAT.

    Parameters
    @@ -731,7 +731,7 @@
    -rename_subject(project, old_name, new_name, rename_exp=False)[source]
    +rename_subject(project, old_name, new_name, rename_exp=False)[source]

    Change a subjects’s name on XNAT.

    Parameters
    diff --git a/searchindex.js b/searchindex.js index c4bd1082..41c89d13 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["README","api","api/datman","api/datman.config","api/datman.dashboard","api/datman.exceptions","api/datman.exporters","api/datman.fs_log_scraper","api/datman.header_checks","api/datman.metrics","api/datman.scan","api/datman.scan_list","api/datman.scanid","api/datman.utils","api/datman.xnat","changes","contributing","datman_conf","datman_files","index","installation","links","script_overview"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,sphinx:56},filenames:["README.rst","api.rst","api/datman.rst","api/datman.config.rst","api/datman.dashboard.rst","api/datman.exceptions.rst","api/datman.exporters.rst","api/datman.fs_log_scraper.rst","api/datman.header_checks.rst","api/datman.metrics.rst","api/datman.scan.rst","api/datman.scan_list.rst","api/datman.scanid.rst","api/datman.utils.rst","api/datman.xnat.rst","changes.rst","contributing.rst","datman_conf.rst","datman_files.rst","index.rst","installation.rst","links.rst","script_overview.rst"],objects:{"":[[2,0,0,"-","datman"]],"datman.config":[[3,1,1,"","TagInfo"],[3,1,1,"","config"],[3,5,1,"","study_required"]],"datman.config.TagInfo":[[3,2,1,"","get"],[3,2,1,"","keys"],[3,3,1,"","series_map"]],"datman.config.config":[[3,2,1,"","get_key"],[3,2,1,"","get_path"],[3,2,1,"","get_sites"],[3,2,1,"","get_study_base"],[3,2,1,"","get_study_tags"],[3,2,1,"","get_tags"],[3,2,1,"","get_xnat_projects"],[3,4,1,"","install_config"],[3,2,1,"","load_yaml"],[3,2,1,"","map_xnat_archive_to_project"],[3,2,1,"","set_study"],[3,4,1,"","study_config"],[3,4,1,"","study_config_file"],[3,4,1,"","study_name"],[3,4,1,"","system_config"]],"datman.dashboard":[[4,5,1,"","add_scan"],[4,5,1,"","add_session"],[4,5,1,"","add_subject"],[4,5,1,"","dashboard_required"],[4,5,1,"","filename_required"],[4,5,1,"","get_bids_scan"],[4,5,1,"","get_bids_subject"],[4,5,1,"","get_default_user"],[4,5,1,"","get_project"],[4,5,1,"","get_scan"],[4,5,1,"","get_session"],[4,5,1,"","get_study_subjects"],[4,5,1,"","get_subject"],[4,5,1,"","release_db"],[4,5,1,"","scanid_required"],[4,5,1,"","set_study_status"]],"datman.exceptions":[[5,6,1,"","ConfigException"],[5,6,1,"","DashboardException"],[5,6,1,"","ExportException"],[5,6,1,"","ExporterException"],[5,6,1,"","InputException"],[5,6,1,"","MetadataException"],[5,6,1,"","ParseException"],[5,6,1,"","QCException"],[5,6,1,"","UndefinedSetting"],[5,6,1,"","XnatException"]],"datman.exceptions.XnatException":[[5,4,1,"","message"],[5,4,1,"","session"],[5,4,1,"","study"]],"datman.exporters":[[6,1,1,"","BidsExporter"],[6,1,1,"","DBExporter"],[6,1,1,"","DcmExporter"],[6,1,1,"","Exporter"],[6,1,1,"","NiiExporter"],[6,1,1,"","NiiLinkExporter"],[6,1,1,"","SeriesExporter"],[6,1,1,"","SessionExporter"],[6,1,1,"","SharedExporter"],[6,5,1,"","get_exporter"]],"datman.exporters.BidsExporter":[[6,2,1,"","add_repeat_num"],[6,2,1,"","export"],[6,2,1,"","get_sidecars"],[6,2,1,"","needs_raw_data"],[6,2,1,"","outputs_exist"],[6,4,1,"","type"]],"datman.exporters.DBExporter":[[6,2,1,"","add_tech_notes"],[6,2,1,"","errors_outdated"],[6,2,1,"","export"],[6,2,1,"","get_bids_name"],[6,2,1,"","get_output_dir"],[6,2,1,"","make_scan"],[6,2,1,"","make_session"],[6,3,1,"","names"],[6,2,1,"","needs_raw_data"],[6,2,1,"","outputs_exist"],[6,4,1,"","type"]],"datman.exporters.DcmExporter":[[6,2,1,"","export"],[6,4,1,"","ext"],[6,4,1,"","type"]],"datman.exporters.Exporter":[[6,2,1,"","export"],[6,2,1,"","get_output_dir"],[6,2,1,"","make_output_dir"],[6,2,1,"","needs_raw_data"],[6,2,1,"","outputs_exist"],[6,4,1,"","type"]],"datman.exporters.NiiExporter":[[6,2,1,"","export"],[6,4,1,"","ext"],[6,2,1,"","move_file"],[6,2,1,"","report_issues"],[6,4,1,"","type"]],"datman.exporters.NiiLinkExporter":[[6,2,1,"","belongs_to_session"],[6,2,1,"","clear_errors"],[6,2,1,"","export"],[6,4,1,"","ext"],[6,2,1,"","get_bids_niftis"],[6,2,1,"","get_dm_names"],[6,2,1,"","get_error_file"],[6,2,1,"","get_output_dir"],[6,2,1,"","get_series_num"],[6,2,1,"","make_datman_name"],[6,2,1,"","make_link"],[6,2,1,"","match_dm_to_bids"],[6,2,1,"","needs_raw_data"],[6,2,1,"","outputs_exist"],[6,2,1,"","report_errors"],[6,4,1,"","type"]],"datman.exporters.SeriesExporter":[[6,4,1,"","ext"],[6,2,1,"","needs_raw_data"],[6,2,1,"","outputs_exist"]],"datman.exporters.SharedExporter":[[6,2,1,"","export"],[6,4,1,"","ext"],[6,2,1,"","find_bids_files"],[6,2,1,"","find_dm_files"],[6,2,1,"","find_resource_files"],[6,2,1,"","find_source_session"],[6,2,1,"","get_output_dir"],[6,2,1,"","make_name_map"],[6,2,1,"","needs_raw_data"],[6,2,1,"","outputs_exist"],[6,4,1,"","type"]],"datman.fs_log_scraper":[[7,1,1,"","FSLog"],[7,5,1,"","check_diff"],[7,5,1,"","choose_standard_sub"],[7,5,1,"","make_standards"],[7,5,1,"","scrape_logs"],[7,5,1,"","verify_standards"]],"datman.fs_log_scraper.FSLog":[[7,2,1,"","get_args"],[7,2,1,"","get_date"],[7,2,1,"","get_kernel"],[7,2,1,"","get_niftis"],[7,2,1,"","get_subject"],[7,2,1,"","parse_recon_done"],[7,2,1,"","read_log"]],"datman.header_checks":[[8,5,1,"","check_bvals"],[8,5,1,"","compare_headers"],[8,5,1,"","construct_diffs"],[8,5,1,"","find_bvals"],[8,5,1,"","handle_diff"],[8,5,1,"","parse_file"],[8,5,1,"","read_json"],[8,5,1,"","remove_fields"],[8,5,1,"","write_diff_log"]],"datman.metrics":[[9,1,1,"","ABCDPHAMetrics"],[9,1,1,"","AnatMetrics"],[9,1,1,"","AnatPHAMetrics"],[9,1,1,"","DTIMetrics"],[9,1,1,"","DTIPHAMetrics"],[9,1,1,"","FMRIMetrics"],[9,1,1,"","FMRIPHAMetrics"],[9,1,1,"","IgnoreMetrics"],[9,1,1,"","Metric"],[9,1,1,"","MetricDTI"],[9,1,1,"","QAPHAMetrics"],[9,1,1,"","QCOutput"],[9,5,1,"","get_handlers"]],"datman.metrics.ABCDPHAMetrics":[[9,2,1,"","generate"],[9,4,1,"","outputs"]],"datman.metrics.AnatMetrics":[[9,2,1,"","generate"],[9,4,1,"","outputs"]],"datman.metrics.AnatPHAMetrics":[[9,2,1,"","generate"],[9,4,1,"","outputs"]],"datman.metrics.DTIMetrics":[[9,2,1,"","generate"],[9,4,1,"","outputs"]],"datman.metrics.DTIPHAMetrics":[[9,2,1,"","generate"],[9,4,1,"","outputs"]],"datman.metrics.FMRIMetrics":[[9,2,1,"","generate"],[9,4,1,"","outputs"]],"datman.metrics.FMRIPHAMetrics":[[9,2,1,"","generate"],[9,4,1,"","outputs"]],"datman.metrics.IgnoreMetrics":[[9,2,1,"","exists"],[9,2,1,"","generate"],[9,4,1,"","outputs"],[9,2,1,"","write_manifest"]],"datman.metrics.Metric":[[9,2,1,"","command_succeeded"],[9,2,1,"","exists"],[9,2,1,"","generate"],[9,2,1,"","get_requirements"],[9,2,1,"","is_runnable"],[9,2,1,"","make_image"],[9,2,1,"","make_manifest"],[9,2,1,"","make_montage"],[9,3,1,"","manifest_path"],[9,2,1,"","outputs"],[9,2,1,"","read_manifest"],[9,4,1,"","requires"],[9,2,1,"","run"],[9,2,1,"","set_outputs"],[9,2,1,"","write_manifest"]],"datman.metrics.QAPHAMetrics":[[9,2,1,"","generate"],[9,4,1,"","outputs"],[9,2,1,"","update_expected_outputs"]],"datman.metrics.QCOutput":[[9,4,1,"","caption"],[9,4,1,"","order"],[9,4,1,"","title"]],"datman.scan":[[10,1,1,"","DatmanNamed"],[10,1,1,"","Scan"],[10,1,1,"","Series"]],"datman.scan.Scan":[[10,2,1,"","find_files"],[10,2,1,"","get_resource_dir"],[10,2,1,"","get_tagged_nii"],[10,3,1,"","niftis"]],"datman.scan_list":[[11,1,1,"","ScanEntryABC"],[11,5,1,"","generate_scan_list"],[11,5,1,"","get_scan_list_contents"],[11,5,1,"","make_new_entries"],[11,5,1,"","start_new_scan_list"],[11,5,1,"","update_scans_csv"]],"datman.scan_list.ScanEntryABC":[[11,2,1,"","get_target_name"]],"datman.scanid":[[12,1,1,"","BIDSFile"],[12,1,1,"","DatmanIdentifier"],[12,1,1,"","Identifier"],[12,1,1,"","KCNIIdentifier"],[12,5,1,"","get_field"],[12,5,1,"","get_kcni_identifier"],[12,5,1,"","get_session_num"],[12,5,1,"","get_subid"],[12,5,1,"","is_phantom"],[12,5,1,"","is_scanid"],[12,5,1,"","is_scanid_with_session"],[12,5,1,"","make_filename"],[12,5,1,"","parse"],[12,5,1,"","parse_bids_filename"],[12,5,1,"","parse_filename"]],"datman.scanid.DatmanIdentifier":[[12,2,1,"","get_xnat_experiment_id"],[12,2,1,"","get_xnat_subject_id"],[12,4,1,"","pha_pattern"],[12,4,1,"","pha_re"],[12,4,1,"","scan_pattern"],[12,4,1,"","scan_re"],[12,3,1,"","session"]],"datman.scanid.Identifier":[[12,2,1,"","get_bids_name"],[12,2,1,"","get_full_subjectid"],[12,2,1,"","get_full_subjectid_with_timepoint"],[12,2,1,"","get_full_subjectid_with_timepoint_session"],[12,2,1,"","get_xnat_experiment_id"],[12,2,1,"","get_xnat_subject_id"],[12,2,1,"","match"]],"datman.scanid.KCNIIdentifier":[[12,2,1,"","get_xnat_experiment_id"],[12,2,1,"","get_xnat_subject_id"],[12,4,1,"","pha_pattern"],[12,4,1,"","pha_re"],[12,4,1,"","scan_pattern"],[12,4,1,"","scan_re"]],"datman.utils":[[13,1,1,"","XNATConnection"],[13,1,1,"","cd"],[13,5,1,"","check_dependency_configured"],[13,5,1,"","check_returncode"],[13,5,1,"","define_folder"],[13,5,1,"","filter_niftis"],[13,5,1,"","find_tech_notes"],[13,5,1,"","get_all_headers_in_folder"],[13,5,1,"","get_archive_headers"],[13,5,1,"","get_extension"],[13,5,1,"","get_files_with_tag"],[13,5,1,"","get_folder_headers"],[13,5,1,"","get_loaded_modules"],[13,5,1,"","get_relative_source"],[13,5,1,"","get_resources"],[13,5,1,"","get_subject_metadata"],[13,5,1,"","get_tarfile_headers"],[13,5,1,"","get_xnat_credentials"],[13,5,1,"","get_zipfile_headers"],[13,5,1,"","has_permissions"],[13,5,1,"","is_dicom"],[13,5,1,"","is_named_like_a_dicom"],[13,5,1,"","locate_metadata"],[13,5,1,"","make_temp_directory"],[13,5,1,"","make_zip"],[13,5,1,"","makedirs"],[13,5,1,"","nifti_basename"],[13,5,1,"","read_blacklist"],[13,5,1,"","read_checklist"],[13,5,1,"","read_credentials"],[13,5,1,"","read_json"],[13,5,1,"","remove_empty_files"],[13,5,1,"","run"],[13,5,1,"","run_dummy_q"],[13,5,1,"","split_path"],[13,5,1,"","splitext"],[13,5,1,"","submit_job"],[13,5,1,"","update_blacklist"],[13,5,1,"","update_checklist"],[13,5,1,"","validate_subject_id"],[13,5,1,"","write_json"],[13,5,1,"","write_metadata"]],"datman.xnat":[[14,1,1,"","XNATExperiment"],[14,1,1,"","XNATObject"],[14,1,1,"","XNATScan"],[14,1,1,"","XNATSubject"],[14,5,1,"","get_auth"],[14,5,1,"","get_connection"],[14,5,1,"","get_port_str"],[14,5,1,"","get_server"],[14,1,1,"","xnat"]],"datman.xnat.XNATExperiment":[[14,2,1,"","assign_scan_names"],[14,2,1,"","download"],[14,2,1,"","get_autorun_ids"],[14,2,1,"","get_resources"],[14,2,1,"","is_shared"]],"datman.xnat.XNATScan":[[14,2,1,"","download"],[14,2,1,"","is_derived"],[14,2,1,"","is_multiecho"],[14,2,1,"","is_usable"],[14,2,1,"","raw_dicoms_exist"],[14,2,1,"","set_datman_name"],[14,2,1,"","set_tag"]],"datman.xnat.xnat":[[14,4,1,"","auth"],[14,2,1,"","create_resource_folder"],[14,2,1,"","delete_resource"],[14,2,1,"","dismiss_autorun"],[14,2,1,"","find_project"],[14,2,1,"","find_subject"],[14,2,1,"","get_dicom"],[14,2,1,"","get_experiment"],[14,2,1,"","get_experiment_ids"],[14,2,1,"","get_projects"],[14,2,1,"","get_resource"],[14,2,1,"","get_resource_archive"],[14,2,1,"","get_resource_ids"],[14,2,1,"","get_resource_list"],[14,2,1,"","get_scan"],[14,2,1,"","get_scan_ids"],[14,2,1,"","get_subject"],[14,2,1,"","get_subject_ids"],[14,4,1,"","headers"],[14,2,1,"","make_experiment"],[14,2,1,"","make_subject"],[14,2,1,"","open_session"],[14,2,1,"","put_dicoms"],[14,2,1,"","put_resource"],[14,2,1,"","rename_experiment"],[14,2,1,"","rename_subject"],[14,4,1,"","server"],[14,4,1,"","session"]],datman:[[3,0,0,"-","config"],[4,0,0,"-","dashboard"],[5,0,0,"-","exceptions"],[6,0,0,"-","exporters"],[7,0,0,"-","fs_log_scraper"],[8,0,0,"-","header_checks"],[9,0,0,"-","metrics"],[10,0,0,"-","scan"],[11,0,0,"-","scan_list"],[12,0,0,"-","scanid"],[13,0,0,"-","utils"],[14,0,0,"-","xnat"]]},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","property","Python property"],"4":["py","attribute","Python attribute"],"5":["py","function","Python function"],"6":["py","exception","Python exception"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:property","4":"py:attribute","5":"py:function","6":"py:exception"},terms:{"0":[0,12,13,15,17,19,22],"00":13,"005":17,"02":15,"0rc1":15,"1":[0,9,12,13,14,15,17,19],"10":22,"1000":17,"11":15,"111":17,"1111":17,"112":17,"1600":9,"16649196":[0,19],"1_snr_adc":9,"2":[0,9,12,13,14,15,17,19],"2006":[0,19],"2011":[0,19],"2014":22,"2019":15,"2020":15,"212":[0,19],"212_spectra":[0,19],"22":17,"222":17,"23":[0,19],"245":15,"247":15,"248":15,"250":15,"251":15,"252":15,"2_b0distortionratio":9,"3":[0,9,12,13,14,15,17,19],"333":17,"3_eddycurrentdistort":9,"4":[9,12],"443":17,"444":17,"4_avenyqratio":9,"5":[0,9,19,22],"59":[0,19],"5_favalu":9,"6":[0,9,12,19],"60dir":17,"7":9,"777":17,"8":[9,12],"9":[9,12,17],"999":17,"abstract":[6,9,11,12],"boolean":[6,17],"break":16,"case":[3,12,16,17],"class":[1,3,6,7,9,10,11,12,13,14],"default":[3,5,6,9,12,13,14,17,18],"do":[12,13,14,18],"export":[1,2,5,14,17,18,20],"function":[0,1,3,4,6,8,9,11,12,13,17,19],"import":[17,19,22],"int":[9,12],"long":4,"new":[6,14,16,17,19],"return":[3,4,6,9,11,12,13,14],"short":[0,6,17,19],"static":7,"super":[6,11],"switch":[3,13],"true":[6,10,13,14,17],"try":[16,17,18],"var":[13,17],"while":[4,12,14],A:[0,4,6,7,9,10,11,12,13,14,17,18,19],And:17,As:[3,12,17],At:17,By:[3,18],For:[0,5,12,17,18,19],If:[3,6,9,10,12,13,14,16,17,20],In:17,It:[0,13,14,17,18,19],NOT:[14,18],OR:13,On:20,One:[3,17],Or:17,That:[11,18],The:[0,3,6,7,9,10,11,12,13,14,17,18,19,20,22],These:[0,3,13,17,19,20,22],To:[0,6,11,17,19,20],Will:[13,14],_:12,__init__:[3,6,11],_b0:9,_bad_fd:[0,19],_corr:[0,9,19],_direct:9,_fd:[0,9,19],_imag:9,_montag:9,_plot:9,_qascripts_bold:[0,9,19],_qascripts_dti:[0,9,19],_raw:9,_scanlength:[0,9,19],_se:12,_sfnr:[0,9,19],_spectra:[0,9,19],_spikecount:9,_stat:[0,9,19],aa:18,abc:[6,9,12,14,17],abcd:[9,17],abcd_dmri:17,abcd_fmri:17,abcdphametr:9,abl:17,about:[7,10,13,18],abov:[0,17,19],absolut:[0,3,10,14,19],accept:[12,13,16,17],access:[10,13,14,17,20],accident:13,accur:6,accuraci:6,acq:[12,18],acquisit:[0,12,17,19],acquisitiontim:17,across:[0,19],act:17,action:14,activ:[0,19],actual:[6,16],ad:[14,16,18],adapt:3,add:[0,6,13,16,18,19,20],add_repeat_num:6,add_scan:4,add_sess:4,add_subject:4,add_tech_not:6,addit:[3,13,16,18,20,22],address:17,adni:[0,9,19],afni:[20,22],after:[4,10,13,16],again:17,against:17,aggreg:7,al:[0,19],alia:6,alias:6,all:[0,3,6,10,12,13,14,15,16,17,19,20,22],alloc:13,allow:[3,6,12,17],allow_parti:13,alphanumer:12,alreadi:[6,11,14,17],also:[0,6,13,14,17,19,20],alwai:12,an:[0,3,4,6,12,13,14,16,17,18,19,22],anaconda:[0,19],analysi:[0,19],analyt:[0,19],anat:[17,18],anatmetr:9,anatphametr:9,ani:[6,7,9,10,12,13,14,16,17,18,20,22],anoth:[6,12,14,17],anotherxnat:17,anyon:16,anyth:17,ap:[6,18],apart:14,api:[14,17,19],appear:[14,18],appli:[4,6,12,14,16,17,18,22],applic:19,ar:[0,4,6,7,9,12,13,14,16,17,18,19,20,22],archiv:[0,3,13,14,17,19],aren:16,arg:6,argslist:13,argument:[4,6,13],aris:[0,19],arm1:17,arm2:17,arm3:17,artifact:[0,19],asid:12,assess:[0,19],asset:[0,17,19,20],assign:[14,17],assign_scan_nam:14,associ:14,assum:[10,13,17],assur:[0,19],attempt:[4,13,14,16],attend:17,attribut:[6,10,14],auth:14,authent:22,autom:16,automat:[0,19],autorun:14,avail:[17,20],averag:[0,19],b0:[0,9,19],b0distort:9,b0fieldsourc:18,b:13,back:[13,17],bad:[0,19],base:[3,5,6,7,9,10,11,12,13,14,17,22],base_nam:14,basenam:13,basic:6,becaus:[14,17],becom:[0,10,17,19],been:[3,6,9,13,17,18,20,22],befor:[13,14,16,17,18],begin:17,behav:17,behavior:14,being:[0,13,17,19],belong:[6,10,13,14,17,18,22],belongs_to_sess:6,below:[12,16,17,20],benefit:17,best:13,between:[0,3,7,9,17,19],bewar:14,bid:[6,10,12,13,17,18,22],bids_fil:6,bids_id:13,bids_nam:[4,6],bids_opt:6,bids_path:6,bids_root:10,bids_s:13,bids_sess:4,bidsexport:6,bidsfil:12,bidsifi:17,bin:[20,22],blacklist:[13,19,22],blacklistdel:[17,22],block:[13,17,20],bold:[0,9,19],bool:[6,13,14],both:3,boxx:17,brain:[0,19],bravo:17,bug:[15,16],builder:16,bval:9,bvec:9,bytestr:15,c:13,ca:17,cach:14,calcul:[0,19],call:[6,11,12,14],camelcas:17,can:[3,4,6,11,12,13,14,16,17,18,20,22],candid:13,cannot:6,capit:17,caption:9,car:[6,17],care:13,caus:[12,13,14,17],cb:18,cd:[0,13,19,20],ce:12,centralslic:9,certain:[10,12,14],chanc:16,chang:[6,10,12,13,14,15,16,17],changelog:16,charact:[12,17],chavez:[0,19],check:[4,6,13,14,16],check_bval:8,check_dependency_configur:13,check_diff:7,check_returncod:13,checklist:[13,15,17,19,22],choose_standard_sub:7,chronolog:[0,19],circumv:13,classmethod:[6,9],clean:14,clear_error:6,clevi:17,clock:13,clone:[0,19,20],cmd:13,cmd_arg:7,cmh:17,cmt:17,code:[4,11,12,13,15,16,17],col_head:7,collect:[0,13,17,19],colon:16,column:18,com:[0,17,19,20],come:16,comma:[13,18],command:[9,13,16,20],command_nam:9,command_succeed:9,comment:[13,17,18],comment_field:17,commit:4,common:16,compar:[8,17],compare_head:8,comparison:17,compil:12,complet:[0,4,6,13,14,16,17,19,22],complianc:16,complic:17,compon:13,comput:3,conda:[0,19],conf_dir:20,config:[1,2,6,10,13,14,17,18,20,22],config_templ:17,configdir:[17,20],configexcept:5,configur:[3,10,13,14,18,19,20,22],conflict:3,conform:[12,13,14],connect:[0,4,14,17,19],consequ:14,consid:[3,13],consist:[12,17],construct:17,construct_diff:8,consult:14,contact:17,contain:[6,7,11,12,13,14,17,18,19],content:[6,10,13,17,22],context:[13,17],continu:16,contribut:19,control:18,convent:[10,12,13,14,17,22],convers:[6,15],convert:[4,12,17,22],copi:[17,20],core:[13,17],correct:[0,4,6,11,13,17,18,19],correctli:[13,16,17,18,20,22],correl:[0,9,19],correspond:12,corrupt:[0,19],could:[0,19],count:17,cpu_cor:13,creat:[0,4,6,10,11,12,14,17,19,20],create_resource_fold:14,creation:14,cred_fil:13,credenti:20,criteria:[4,18],csv:[0,9,11,13,17,19,22],current:[3,6,10,13,14,17,18,20],current_subid:12,customlabel:18,cut:[0,19],d:[0,13,19],dashboard:[1,2,5,6,13,17,18,22],dashboard_requir:4,dashboardexcept:[4,5],data:[0,5,6,10,13,14,17,18,19,20,22],data_dir:20,databas:[0,4,6,13,18,19,22],dataset:6,datatyp:[0,18,19],date:[4,10,17],date_field:17,date_str:7,datman:[1,17,18,20,22],datman_asset:[0,19],datman_id:11,datman_log:17,datmanassetsdir:[17,20],datmanidentifi:12,datmannam:10,datmanprojectsdir:[17,20],db:6,dbexport:6,dcm2bid:[6,17,19,22],dcm2niix:[6,20,22],dcm:[6,17],dcmdump:18,dcmexport:6,decemb:15,decod:15,decor:4,decorrel:[0,19],def:11,defaults_onli:3,defin:[0,3,5,6,9,11,13,14,17,19,22],define_fold:13,definit:[0,17,19],delet:[13,14,17,22],delete_resourc:14,dep:16,depend:[0,6,13,16,17,19,20,22],deposit:[14,22],deprec:15,deriv:11,describ:[12,17,18,20],descript:[0,4,12,13,17,18,19,22],design:[0,19],dest_dir:11,dest_fold:14,dest_zip:13,destin:[11,13,14],detail:[7,12,13,17],detect:[14,17,20],determin:17,deviat:[0,19],dicom:[0,6,11,12,13,14,17,18,19,22],dicom_patientname1:18,dicom_patientnamen:18,dicom_studyid1:18,dicom_studyidn:18,dict:[6,9,12,13,14],dictat:13,dictionari:[3,6,9,12,13,14,17],diff:8,differ:[0,3,6,7,14,17,19,22],differenti:3,diffimg:9,diffmask:9,dir:[6,12,13],dir_typ:6,direct:[0,9,19],directli:[13,20],directori:[3,6,10,11,13,17,20,22],disabl:14,discov:[3,6],discuss:22,dismiss:14,dismiss_autorun:14,displac:[0,19],displai:22,distinguish:[0,17,19],dm_blacklist_rm:[17,18,19],dm_config:[3,20],dm_dir:6,dm_file:6,dm_link:[15,18,19],dm_link_shared_id:[17,18,19],dm_log_serv:17,dm_name:6,dm_parse_ea:17,dm_parse_fac:19,dm_parse_gngo:17,dm_parse_nback:17,dm_qc_report:[17,19,20],dm_redcap_scan_complet:[17,19,20],dm_sftp:[17,19,20],dm_system:[3,13,17,20],dm_task_fil:[15,17,19],dm_xnat_extract:[17,18,19,20],dm_xnat_upload:[17,19],doc:16,docker:19,document:[16,18,22],doe:[0,6,10,12,13,14,17,19,20],doesn:[0,13,14,17,19],doesnt:[12,13,14,17],domain:17,don:[0,4,13,19,20],done:13,dont:13,download:[6,14,17,22],download_dir:14,downstream:13,drift:[0,19],drift_bx:[0,19],driftperc:[0,19],drop:13,dry_run:6,dryrun:13,dti01:12,dti15t:3,dti3t:3,dti60:17,dti:[0,3,8,9,12,17,19],dti_fieldmap:18,dtimetr:9,dtiphametr:9,due:20,dure:[0,6,17,19],dwi_dir:18,e:[3,4,6,10,12,13,16,17,20],each:[0,6,11,13,14,17,18,19],easi:10,echo:[12,17],echo_dict:6,echonumb:17,echotim:17,edat2:17,eddycurrentdist:9,either:[3,4,13,17],els:6,elsewher:17,empti:[6,7,13,14],enabl:3,encod:[0,19],end:[4,6,17],enh:16,enough:11,ensur:[4,6,12,13,16],enter:18,entir:[6,13],entri:[6,11,13,14,17,18],entryclass:11,env:[0,17,19],env_var:13,environ:[0,3,13,14,17,19,20,22],environmenterror:13,ep2d:17,epi:18,eprim:22,equival:6,error:[5,6],errors_outd:6,et:[0,19],etc:[0,13,17,19],even:[13,14],event:17,everi:[3,17],exact:[3,9],exactli:17,exam:[0,13,19],exampl:[0,11,12,13,19],examplescanentri:11,except:[1,2,3,13,14,17],excerpt:17,exclam:16,exclud:12,exist:[0,3,6,9,13,14,16,17,18,19],exit:[4,13],expect:[3,4,6,7,8,9,11,13,17],expected_kei:7,exper_id:14,experi:[6,14],experienc:14,experiment_json:14,export_set:3,exporterexcept:5,exportexcept:5,exportinfo:[3,22],exportset:3,express:17,ext:[6,12],extens:[6,13,17,18],extern:[19,22],extract:3,f:4,face:22,fail:[13,14],failur:[13,14],fals:[3,4,6,7,8,9,13,14,17],fbirn:[0,9,19],fbrin:[0,19],fd:[0,19],feat:16,featur:[16,17],fewer:17,field:[3,7,8,11,12,13,14,17],file:[0,3,4,6,7,8,9,10,11,12,13,14,16,19,20,22],file_path:[8,14],file_stem:[6,10],filenam:[3,13,14],filename_requir:4,fileobj:13,filesystem:[6,13],fill:17,filter:4,filter_nifti:13,find:[6,12,13,14,16,17,18,22],find_bids_fil:6,find_bval:8,find_dm_fil:6,find_fil:10,find_project:14,find_resource_fil:6,find_source_sess:6,find_subject:14,find_tech_not:13,findabl:13,finish:[14,18],first:[3,4,13,14,15,17,18],fit:17,fix:[15,16],flag:[12,13,20],flair:18,flake8:16,fluctuat:[0,19],fmap:[6,17,18],fmri:[0,9,17,19],fmri_fieldmap:18,fmrimetr:9,fmriphametr:9,fname:6,fname_root:6,folder:[0,3,6,7,13,14,16,17,18,19,20,22],foldernam:14,follow:[0,16,17,19],fool:13,form:17,format:[6,10,11,12,13,14,16,17,18,22],found:[3,4,6,7,13,14,17,22],fpath:13,framewis:[0,19],freeform:17,freesurf:7,freesurfer_fold:7,friedman:[0,19],from:[0,3,4,5,6,7,9,10,12,13,14,15,16,17,18,19,20,22],fs_log_scrap:[1,2],fs_output_fold:7,fsl:[9,20,22],fslog:7,ftp:22,ftpport:17,ftpserver:17,full:[3,6,9,12,13,14,17,20],fulli:[13,17],fullnam:17,functionwrapp:3,further:[0,19],fuzzi:13,g:[3,4,6,10,12,17,20],gap:9,gen_fil:6,gener:[0,6,7,9,11,13,17,18,19,20,22],generate_scan_list:11,get:[3,4,6,12,13,14,17,18],get_all_headers_in_fold:13,get_archive_head:13,get_arg:7,get_auth:14,get_autorun_id:14,get_bids_nam:[6,12],get_bids_nifti:6,get_bids_scan:4,get_bids_subject:4,get_connect:14,get_dat:7,get_default_us:4,get_dicom:14,get_dm_nam:6,get_error_fil:6,get_experi:14,get_experiment_id:14,get_export:6,get_extens:13,get_field:12,get_files_with_tag:13,get_folder_head:13,get_full_subjectid:12,get_full_subjectid_with_timepoint:12,get_full_subjectid_with_timepoint_sess:12,get_handl:9,get_kcni_identifi:12,get_kei:3,get_kernel:7,get_loaded_modul:13,get_nifti:7,get_output_dir:6,get_path:3,get_port_str:14,get_project:[4,14],get_relative_sourc:13,get_requir:9,get_resourc:[13,14],get_resource_arch:14,get_resource_dir:10,get_resource_id:14,get_resource_list:14,get_scan:[4,14],get_scan_id:14,get_scan_list_cont:11,get_series_num:6,get_serv:14,get_sess:4,get_session_num:12,get_sidecar:6,get_sit:3,get_study_bas:3,get_study_subject:4,get_study_tag:3,get_subid:12,get_subject:[4,7,14],get_subject_id:14,get_subject_metadata:13,get_tag:3,get_tagged_nii:10,get_tarfile_head:13,get_target_nam:11,get_xnat_credenti:13,get_xnat_experiment_id:12,get_xnat_project:3,get_xnat_subject_id:12,get_zipfile_head:13,git:[0,19,20],github:[0,15,19,20],give:[3,14,16,17],given:[3,4,6,9,10,12,13,14,17],global:[0,17,19],global_corr:[0,19],glossari:19,gmean:[0,19],gmean_bx:[0,19],go:[13,17,18],goe:[11,17,18],gold:[8,22],good:[0,19],gov:[0,19],grab:14,grace:13,grappa:17,greatli:14,group:12,guarante:22,guess:13,gui:14,guidelin:16,gz:[0,6,9,13,19],ha:[3,4,13,14,17,18],had:[6,18],hand:17,handle_diff:8,happen:4,has_permiss:13,have:[0,6,13,14,17,18,19,20,22],haven:9,head:[0,19],header:[0,8,11,12,13,14,17,18,19],header_check:[1,2],headerfield:17,headerfieldtoler:17,help:[4,16,17,18],here:[0,11,12,16,17,18,19,20,22],higher:[0,19],hold:[10,13,17,18,20],home:17,how:[12,17,22],howev:[6,17],html:[0,18,19],http:[0,17,19,20],httperror:14,human:[0,17,19],i:[3,13,16,17],id:[3,4,5,6,10,11,12,13,14,17,18,20],ident:[10,12,14,17],identif:12,identifi:[0,3,4,6,10,12,13,14,17,18,19],idl:4,idmap:22,idtyp:12,ignor:[8,13,16,17,22],ignore_default:3,ignored_field:8,ignoreheaderfield:17,ignoremetr:9,imag:[0,9,13,17,19],imagetyp:17,img_gap:9,implement:6,imposs:14,includ:[6,12,13,17,18,20],incorrect:13,index:19,indic:[13,16,17,18],info:[12,17,18],inform:[0,1,4,7,10,11,18,19],init:6,initi:[13,17,18],input:[6,9],input_nii:9,inputexcept:5,insert:9,insid:[16,17],instal:[0,3,13,16,17,18,19,22],install_config:3,instanc:[0,3,4,6,10,11,12,13,14,19],instantan:[0,19],instead:[6,13,15,17,18,20],instrument:17,integ:17,integr:[13,17,20],intend:[6,11],intended_name1:18,intended_namen:18,intens:[0,19],intensitii:[0,19],interact:[14,17,20],interchang:14,interest:[13,14],interf:14,interfac:19,introduc:16,ip:17,is_complet:17,is_deriv:14,is_dicom:13,is_multiecho:14,is_named_like_a_dicom:13,is_open:4,is_phantom:12,is_runn:9,is_scanid:12,is_scanid_with_sess:12,is_shar:14,is_us:14,isn:[4,6],isnt:[4,13],isopen:17,issu:[5,6,16,20],item:13,its:[6,12,14,17],itself:[3,17],j:[0,18,19],januari:15,job:[13,17],job_nam:13,joblist:13,join:3,jonathan:[0,19],jpg:9,json:[6,8,17,19],json_cont:8,json_fil:8,json_path:8,just:[3,13,15,17,20],kcni:[12,17],kcniidentifi:12,keep:17,kei:[3,6,12,17],kept:17,keyerror:14,keyword:[0,19],kind:[0,19],kit:22,know:[0,19],known_host:22,kwarg:[4,6],l:[0,19],label:[14,17],lack:13,larg:[0,6,19,20],last:17,launch:14,lead:13,least:[3,17],left:[7,17],less:17,letter:17,level:[0,2,17,19],librari:[0,11,19],licens:20,like:[14,16,17,18],limit:17,line:[7,13,17,18,20],linear:[0,19],link:[0,14,17,19,22],linux:20,list:[4,6,7,11,13,14,16,17,18,20],list_of_nam:13,listen:17,liter:17,ll:20,load:13,load_yaml:3,loadedmodul:13,local:[3,17,20],locat:[3,4,13,14,17,18],locate_metadata:13,log:[6,7,13,16,22],log_dir:13,log_field:7,log_unam:7,logserv:17,logserverdir:17,longer:16,look:[0,13,14,16,19],low:[0,19],lowest:[0,19],machin:17,made:14,mag1:17,mag2:17,magn:[0,19],magphan_adni_manu:[0,19],mai:[6,10,13,16,17,18,22],main:[3,17,20],main_config:[17,20],maintain:12,major:[0,19],make:[6,10,11,13,14,20,22],make_datman_nam:6,make_experi:14,make_filenam:12,make_imag:9,make_link:6,make_manifest:9,make_montag:9,make_name_map:6,make_new_entri:11,make_output_dir:6,make_scan:6,make_sess:6,make_standard:7,make_subject:14,make_temp_directori:13,make_zip:13,makedir:13,manag:[0,11,12,13,17,19,20],mangl:[12,13,17],mani:17,manifest_path:9,manufacturersmodelnam:17,map:[3,6,9,12,13,14,17],map_xnat_archive_to_project:3,mark:[14,16],maskcentralslic:9,match:[0,3,4,6,10,12,13,14,17,19],match_dm_to_bid:6,matlab:[20,22],matlabpath:[0,19],maxabsrm:[0,19],maxim:16,maximum:[0,19],maxrelrm:[0,19],mean:[0,17,19],mean_fd:[0,19],mean_sfnr:[0,19],meanabsrm:[0,19],meanrelrm:[0,19],meant:[14,17],measur:[0,19],measures:[0,19],mem:13,merg:3,messag:[5,6,13,17],meta:[17,18,22],metadata:[14,18],metadata_path:11,metadataexcept:[5,13],method:[1,6,12,17],metric:[0,1,2,17,19,22],metricdti:9,might:12,minc:22,mind:17,minu:[6,18],miss:6,mm:[0,19],mnc:17,mod:12,modal:[0,12,19],modalitylabel:18,model:6,modifi:[6,12,14,15,17],modul:[1,2,19],montag:9,more:[0,12,13,14,16,17,18,19],most:[0,3,6,7,17,19],mostli:14,motion:[0,19],mount:17,move:6,move_fil:6,mr:12,mrfolder:17,mrftppass:17,mri:[0,17,19],mruser:17,multicent:[0,19],multipl:[3,4,12,13,17,18],mung:13,must:[6,9,13,17,18,22],my_instru:17,my_zip_list:11,myftppass:17,myproject:17,myredcapserv:17,myriad:[0,19],myscan:17,mysftp:17,mystudi:17,mystudy_ut1:17,mysystem:17,mytoken:17,myuser:17,myxnat:17,n_bad_fd:[0,19],name:[0,3,4,6,9,10,11,12,13,14,17,18,19,20,22],name_map:6,nativ:12,nb0:[0,19],ncbi:[0,19],nd:17,ndir:[0,19],necessari:16,need:[0,6,9,14,16,17,19,20],needs_raw_data:6,network:[0,19],neuroimag:[0,19],new_entri:11,new_nam:14,newer:22,next:17,nf:17,nibabel:[0,19],nicknam:13,nifti:[0,6,8,9,10,17,18,19],nifti_basenam:13,nifti_path:6,nightli:17,nih:[0,19],nii:[0,6,9,10,13,17,18,19,22],nii_input:9,nii_link:6,niiexport:6,niilinkexport:6,nlm:[0,19],nois:[0,19],non:[12,13,14,17],none:[3,4,5,6,7,8,9,10,12,13,14,22],norm:17,note:[6,13,14,17,18,20,22],noth:14,nrrd:[17,22],num:12,number:[0,6,12,13,17,19],numer:[12,17],nyquistratio:9,obei:10,object:[3,6,7,9,10,11,12,13,14],obnoxi:14,obtain:[0,19],obvious:14,off:[0,13,19],offici:18,often:17,old:[16,17],old_nam:14,omit:[16,17],ommit:13,onc:[17,20],one:[0,6,12,13,14,16,17,18,19],ones:[0,15,19],onli:[0,3,13,14,17,19,22],onto:3,open:[4,14,16],open_sess:14,open_zipfil:13,oper:4,option:[4,6,9,10,12,13,14,16,18,20,22],order:[9,13],organ:[6,13,14,17],orig_id:12,orig_zip_name1:18,orig_zip_namen:18,origin:[6,12,13,17,22],os:[3,13],oserror:13,other:[0,6,12,13,14,16,17,19,20],otherwis:[6,13,14,17],otherxnat:17,our:[0,16,17,18,19],out:[10,17,20],outcount:[0,19],outcount_bx:[0,19],outlier:[0,19],outmax:[0,19],outmax_bx:[0,19],outmean_bx:[0,19],outmin:[0,19],output:[6,7,9,11,13,14,17,20],output_dir:[6,9,14],output_path:8,outputs_exist:6,outsid:17,over:[0,19],overrid:[3,6,10,19,22],overridden:[3,17],overwrit:[0,9,19],overwritten:13,own:[14,17,18,20],p:[12,17],pa:[6,18],packag:[0,1,16,19],page:[17,18,19,22],pair:17,par:9,par_id:17,paramet:[4,6,7,9,10,12,13,14,17],parent:[10,13,14,17],parentdir:13,pars:[0,5,7,12,13,14,19],parse_bids_filenam:12,parse_fil:8,parse_filenam:[12,13],parse_recon_don:7,parseexcept:[5,10,12,13],part:[3,13,17],partial:13,particip:[5,22],particular:6,partit:13,pass:[11,13,16,18],password:[13,14,17,20,22],path:[3,6,7,9,10,12,13,14,16,20,22],path_typ:3,patientnam:[11,18],pattern:3,pdf:[0,13,19],peopl:16,pep8:[15,16],pepolar_dwi_fmap:18,pepolar_rest_fmap:18,per:[0,17,19],perform:[0,18,19],permiss:13,person:13,pha:12,pha_:12,pha_pattern:12,pha_r:12,pha_typ:12,phantom:[0,4,12,17,19],phantomlab:[0,19],phaseencodingdirect:18,pip:[16,20],pipelin:[0,13,14,17,18,19],pixel:9,place:[0,17,19],plain:17,plan:20,pleas:[0,3,16,19],plot:9,png:9,pngappend:9,point:[0,6,17,19,22],popul:[6,14,18],port:[14,17],portion:[12,17],portnum:14,possibl:[3,6,16],post:14,power:[0,19],pr:16,practic:[0,13,19],pre:[0,17,18,19],prearchiv:[0,19],prefer:17,preferenti:13,prefix:[0,13,16,19,22],present:17,preserv:[13,17],prevent:[14,17],previou:6,previous:6,primari:[0,19],primarycontact:17,probabl:6,problem:[0,19],process:[0,13,18,19],processed_scan:11,produc:14,program:[13,19],program_nam:13,project:[0,3,14,19],projectdir:17,properti:[3,6,9,10,12],protocol:[0,19],provid:[13,17,20],proxi:3,pubm:[0,19],pull:[4,15,16,17],push:22,put:[13,22],put_dicom:14,put_resourc:14,py:[0,3,15,17,18,19,20],pylint:16,pyproject:16,pytest:16,python3:15,python:[0,13,15,17,19],pythonpath:[0,19],qa:[0,9,19],qa_dti:17,qaphametr:9,qascript:[0,19],qc:[0,6,9,13,17,18,19,22],qc_:[0,19],qc_study_cmh_0000_01:18,qc_study_cmh_0001_01:18,qcexcept:[5,9],qcing:[0,19],qcmon:[0,19,20],qcoutput:9,qcpha:17,qctype:17,qualifi:17,qualiti:18,queri:[14,17],queu:[13,14],queue:[13,17],r2014a:22,ra:17,radiu:[0,19],rais:[3,4,9,10,12,13,14],ran:20,rather:[0,19,20],ratio:[0,19],raw:[0,5,6,17,18,19,22],raw_data_dir:6,raw_dicoms_exist:14,re:[0,3,12,13,19],read:[0,3,4,13,14,17,18,19],read_blacklist:13,read_checklist:13,read_credenti:13,read_json:[8,13],read_log:7,read_manifest:9,readabl:[16,17],real:13,reason:18,rec:12,receiv:[4,17],recon_don:7,record:[17,18],record_id_field:17,recurs:13,redcap:[15,20,22],redcap_token:[17,20,22],redcapapiurl:17,redcapcom:17,redcapd:17,redcapeventid:17,redcapinstru:17,redcapprojectid:17,redcaprecordkei:17,redcapstatu:17,redcapstatusvalu:17,redcapsubj:17,redcaptoken:17,redcapurl:17,redefin:17,reduc:18,ref:[15,16],refactor:16,refer:[14,17],referenc:6,regex:17,regular:17,reject:12,rel:[0,7,17,19],releas:[15,16],release_db:4,relev:16,remotelogin:17,remoteprojectid:17,remov:[6,13,15,16,17,22],remove_empty_fil:13,remove_field:8,renam:[14,18],rename_exp:14,rename_experi:14,rename_subject:14,repeat:6,repeatedli:13,repetitiontim:17,replac:[16,20],report:[0,6,7,14,17,19],report_error:6,report_issu:6,request:[14,16,17],requir:[0,6,9,14,19,20],reson:[0,19],resourc:[6,14,17,22],resource_group_id:14,resource_id:14,respect:[6,17],respons:14,rest:[0,19],rest_dir:18,restrict:[3,12,14],result:[3,9,12],retri:[13,14],retriev:[6,12,14,17,18,20,22],returncod:13,reus:4,revers:17,review:18,right:17,risk:18,roi:[0,19],rollback:4,root:[0,10,18,19,20],rootdir:20,round:15,rst:[17,18],run:[0,4,6,7,9,12,13,14,16,17,18,19,20,22],run_dummy_q:13,s1:[0,19],s2:[0,19],s3:[0,19],s4:[0,19],s5:[0,19],s:[0,3,4,6,9,12,13,14,16,17,18,19,20,22],sag:17,sag_mprage_t1:18,same:[0,4,6,13,14,17,18,19,22],save:[11,13],scan:[0,1,2,6,9,11,12,13,14,17,19,22],scan_entry_class:11,scan_id:14,scan_json:14,scan_list:[1,2],scan_path:11,scan_pattern:12,scan_r:12,scan_tag:6,scanentryabc:11,scanid:[1,2,4,10,13,14,15],scanid_requir:4,scanlength:9,scans_csv:11,scheme:[10,17,22],scipi:[0,19],scope:6,scrape:7,scrape_log:7,script:[0,4,7,11,13,15,17,18,19,20],se:12,search:[3,6,13,14,17,19],second:[16,17,18],section2:9,section:17,see:[0,12,13,17,18,19],seemingli:14,self:[9,11],sensit:[12,16,17],sent:17,separ:[13,17,18],seri:[0,4,6,8,10,12,13,14,17,18,19],series_json:8,series_map:3,series_path:8,seriesdescript:[12,17,18],seriesexport:6,server:[14,17,22],server_cach:14,serverlogdir:17,session:[3,5,6,9,10,12,13,14,17,18,22],sessionexport:6,set:[0,3,4,6,9,12,13,14,18,19,20,22],set_datman_nam:14,set_output:9,set_studi:3,set_study_statu:4,set_tag:14,setup:[0,19],sfnr:9,sftp:[17,22],sge:17,share:[3,6,14,18],sharedexport:6,shell:[13,17],shell_cmd:13,should:[6,11,12,13,14,16,17,18,20],show:17,shown:20,side:[6,17],side_car:6,sidecarchang:18,sign:13,signal:[0,19],similar:[12,13],sinc:13,singl:[0,6,9,10,12,13,14,17,19,20],sit:[0,19],site:[3,4,12,13,14],site_set:3,sitetag:3,size:9,slice:9,slicer:[9,22],slightli:13,slurm:[13,17],small:17,snr:[0,19],snrimg:9,so:[0,3,13,14,19],sofia:[0,19],softwar:[20,22],some:[6,12,16,18,20,22],somefold:17,sometim:14,sophist:13,sourc:[3,4,5,6,7,8,9,10,11,12,13,14,17],source_dir:13,source_id:4,source_nam:18,space:[13,18],special:13,specialquot:13,specif:[1,3,4,13,14,17,20],specifi:[3,4,12,13,14,17,18],spectra:[0,19],spikecount:9,spin:[3,4,17],split:[6,13,17],split_path:13,splitext:13,spn01:[3,4],spn01_zhh_0018_01_01_rst_06_rest:[0,19],sprl:17,spuriou:[0,19],squar:[0,19],stack:[0,19],standard:[0,7,8,16,19,22],standard_json:8,standard_log:7,standard_path:8,standards_dict:7,standards_field:7,start:17,start_new_scan_list:11,state:[0,4,14,19],statu:14,std:[17,22],stdout:13,stdplotshist:9,stem:6,still:[9,17,20],stop_after_first:13,store:[6,10,14,17,18],str:[6,9,10,12,13,14],strict:14,string:[4,6,9,12,13,14,17],strip:16,stroke:[0,19],structur:[0,14,17,18,19],stu01:17,stu01_uto_10001_01_se01_mr:17,stuck:[4,14],studi:[0,3,4,5,6,10,12,13,14,18,19,20,22],study1:17,study1_config:17,study1_site_0000_01_01:18,study1_site_0001_01_01:18,study1_ut2_abc0001_01_01:17,study2_site_0000_01_01:18,study2_site_0001_01_01:18,study3_site_0000_01_01:18,study_config:[3,17],study_config_fil:3,study_nam:3,study_nicknam:20,study_requir:3,study_site_0000_01_01_tag_00:18,studya:17,studyb:17,studyb_cmh:17,studyc:17,studyid:18,studytag:[3,17],style:[4,6,12,13,14,16,17],sub:5,sub_id_field:17,subclass:[6,11,12],subfold:[13,14],subject:[0,4,7,9,10,11,12,13,14,15,17,18,19],subject_field:7,subject_id:[10,13,14],subject_json:14,subject_log:7,subject_nam:14,submit:[13,17],submit_job:13,submodul:1,subset:[17,18],success:[13,14],suffix:[12,13],suppli:[3,13],support:[12,13],survei:[17,22],symlink:[6,22],system:[3,13,17,20],system_config:3,systemat:[0,11,19],systemset:20,t1:[0,17,18,19],t1w:18,t2:17,t2w_spc_vnav:17,t:[0,4,6,9,12,13,14,16,17,19,20],tabl:17,tag:[0,3,4,6,10,12,13,14,16,17,19],tag_map:14,taginfo:3,take:[0,3,6,7,13,17,19],taken:[0,6,19],tar:13,tarbal:[0,13,19],target:13,target_nam:18,target_subject:18,task:[12,22],taskregex:17,tech:[6,13],technic:12,technot:13,tell:[14,16],temp:6,tempfil:14,templat:17,tempor:[0,19],temporari:[14,17],tend:14,termin:4,test:[16,17],text:22,than:[14,17,20],thei:[0,3,13,17,18,19],them:[3,12,14,16,17,22],thi:[0,3,4,6,10,11,12,13,14,16,17,18,19,20,22],thing:[0,19],third:18,those:12,though:[14,20],three:[0,9,17,19],through:[0,6,14,19],tigrlab:[0,19,20],tigrlab_scan_completed_complet:17,time:[0,12,13,19],timepoint:12,timeseri:[0,19],titl:[9,16,17],tmp:[13,17],todai:[0,19],token:[17,20,22],toler:[8,17],toml:16,tool:[17,18,22],top:2,tr:[0,19],track:[0,19],transact:4,translat:[12,17],treat:17,trigger:17,tsnr:[0,19],tsnr_bx:[0,19],tsv:22,tumor:[0,19],tune:17,tupl:[12,14],two:[0,3,6,17,18,19],txt:[13,17],type:[0,3,6,9,12,13,14,16,17,18,19,20,22],typo:17,u:20,unabl:14,unassign:[0,19],undefin:17,undefinedset:[3,5],under:[0,6,14,19],undergo:18,unexpect:14,uniform:10,uniqu:[6,17],unit:16,univers:6,unless:13,unlik:17,unset:[14,17],until:[4,13],up:[0,6,13,14,17,19],updat:[13,15,16,20],update_blacklist:13,update_checklist:13,update_expected_output:9,update_scans_csv:11,upload:[14,17,22],uri:14,url:[14,17],us:[0,3,5,7,9,11,12,13,14,16,17,18,19,20,22],use_bid:[6,13],user:[12,14,17,18,20,22],user_nam:13,usernam:[14,17,20,22],usesredcap:17,usual:17,ut1:[12,17],ut2:[12,17],util:[1,2,8,20],uto:[12,17],v:20,valid:[6,10,12,14],validate_subject_id:13,valu:[0,3,8,10,12,13,17,18,19],variabl:[3,13,14,15,17,20,22],variou:17,vector:[0,19],verbos:13,veri:16,verifi:13,verify_standard:7,versa:17,version:[13,15,16,22],versu:14,vice:17,visual:9,voxel:[0,19],wa:[0,3,6,13,14,17,18,19],wai:[11,14,17,20],wait:4,walltim:13,want:[12,13,20],warn:10,we:[0,13,16,19],weight:[0,19],welcom:16,well:[4,22],were:[13,17],what:[0,16,17,19],whatev:[17,18],when:[0,4,11,12,13,14,16,17,18,19],whenev:[6,16],where:[3,6,10,11,13,14,17],whether:[6,13,14,17],which:[0,3,6,13,17,18,19],who:[12,13,17,20],whole:[0,19],why:18,wide:[3,14],width:9,wish:13,within:[4,12,13,14,17,18,20],without:[0,3,6,13,16,19,20],work:[4,6,13,17,22],workdir:13,workflow:14,would:17,wrap:4,wrapper:3,write:[0,6,9,13,16,17,19],write_diff_log:8,write_json:13,write_manifest:9,write_metadata:13,wrong:[11,18],www:[0,19],x:13,xml:14,xnat:[0,1,2,3,5,6,19,20,22],xnat_conn:14,xnat_connect:14,xnat_cr:13,xnat_fetch_sess:[17,19],xnat_pass:[17,20,22],xnat_url:13,xnat_us:[17,20,22],xnatarch:17,xnatconnect:13,xnatconvent:17,xnatcredenti:17,xnatexcept:[5,14],xnatexperi:[6,14],xnatlogin:17,xnatobject:14,xnatport:[14,17],xnatscan:14,xnatserv:17,xnatsourc:[17,22],xnatsourcearch:17,xnatsourcecredenti:17,xnatsubject:14,xxx:17,yaml:[3,17],yet:13,yml:[17,20],you:[0,3,12,13,16,17,18,19,20],your:[0,16,17,19,20],yrk:17,z0:12,z:12,zero:13,zip:[11,13,14,17,18,22],zip_fil:11,zip_nam:14,zipfil:[0,13,14,19]},titles:["Introduction","Library API (application program interface)","datman package","datman.config module","datman.dashboard module","datman.exceptions module","datman.exporters module","datman.fs_log_scraper module","datman.header_checks module","datman.metrics module","datman.scan module","datman.scan_list module","datman.scanid module","datman.utils module","datman.xnat module","What\u2019s new?","Contributing to Datman","Configuration Files","Other important files","datman","Installation","<no title>","Script Overview"],titleterms:{"export":6,"import":18,"new":15,api:1,applic:1,blacklist:[17,18],checklist:18,config:3,configur:17,contain:20,contribut:16,control:[0,19],csv:18,dashboard:4,datman:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,16,19],dcm2bid:18,dm_blacklist_rm:22,dm_link:22,dm_link_shared_id:22,dm_parse_fac:22,dm_qc_report:22,dm_redcap_scan_complet:22,dm_sftp:22,dm_task_fil:22,dm_xnat_extract:22,dm_xnat_upload:22,docker:20,exampl:[17,18],except:5,exportinfo:17,exportset:17,extern:18,file:[17,18],fs_log_scrap:7,ftp:17,glossari:17,gold:17,header_check:8,idmap:17,indic:19,instal:20,interfac:1,introduct:[0,19],json:18,librari:1,link:18,log:17,metadata:17,metric:9,modul:[3,4,5,6,7,8,9,10,11,12,13,14],option:17,other:18,overrid:17,overview:[0,19,22],packag:2,path:17,pattern:17,program:1,project:17,qualiti:[0,19],redcap:17,requir:17,s:15,scan:[10,18],scan_list:11,scanid:12,script:22,set:17,site:17,standard:17,studi:17,submodul:2,systemset:17,tabl:19,task:17,util:13,what:15,xnat:[14,17],xnat_fetch_sess:22}}) \ No newline at end of file +Search.setIndex({docnames:["README","api","api/datman","api/datman.config","api/datman.dashboard","api/datman.exceptions","api/datman.exporters","api/datman.fs_log_scraper","api/datman.header_checks","api/datman.metrics","api/datman.scan","api/datman.scan_list","api/datman.scanid","api/datman.utils","api/datman.xnat","changes","contributing","datman_conf","datman_files","index","installation","links","script_overview"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,sphinx:56},filenames:["README.rst","api.rst","api/datman.rst","api/datman.config.rst","api/datman.dashboard.rst","api/datman.exceptions.rst","api/datman.exporters.rst","api/datman.fs_log_scraper.rst","api/datman.header_checks.rst","api/datman.metrics.rst","api/datman.scan.rst","api/datman.scan_list.rst","api/datman.scanid.rst","api/datman.utils.rst","api/datman.xnat.rst","changes.rst","contributing.rst","datman_conf.rst","datman_files.rst","index.rst","installation.rst","links.rst","script_overview.rst"],objects:{"":[[2,0,0,"-","datman"]],"datman.config":[[3,1,1,"","TagInfo"],[3,1,1,"","config"],[3,5,1,"","study_required"]],"datman.config.TagInfo":[[3,2,1,"","get"],[3,2,1,"","keys"],[3,3,1,"","series_map"]],"datman.config.config":[[3,2,1,"","get_key"],[3,2,1,"","get_path"],[3,2,1,"","get_sites"],[3,2,1,"","get_study_base"],[3,2,1,"","get_study_tags"],[3,2,1,"","get_tags"],[3,2,1,"","get_xnat_projects"],[3,4,1,"","install_config"],[3,2,1,"","load_yaml"],[3,2,1,"","map_xnat_archive_to_project"],[3,2,1,"","set_study"],[3,4,1,"","study_config"],[3,4,1,"","study_config_file"],[3,4,1,"","study_name"],[3,4,1,"","system_config"]],"datman.dashboard":[[4,5,1,"","add_scan"],[4,5,1,"","add_session"],[4,5,1,"","add_subject"],[4,5,1,"","dashboard_required"],[4,5,1,"","filename_required"],[4,5,1,"","get_bids_scan"],[4,5,1,"","get_bids_subject"],[4,5,1,"","get_default_user"],[4,5,1,"","get_project"],[4,5,1,"","get_scan"],[4,5,1,"","get_session"],[4,5,1,"","get_study_subjects"],[4,5,1,"","get_subject"],[4,5,1,"","release_db"],[4,5,1,"","scanid_required"],[4,5,1,"","set_study_status"]],"datman.exceptions":[[5,6,1,"","ConfigException"],[5,6,1,"","DashboardException"],[5,6,1,"","ExportException"],[5,6,1,"","ExporterException"],[5,6,1,"","InputException"],[5,6,1,"","MetadataException"],[5,6,1,"","ParseException"],[5,6,1,"","QCException"],[5,6,1,"","UndefinedSetting"],[5,6,1,"","XnatException"]],"datman.exceptions.XnatException":[[5,4,1,"","message"],[5,4,1,"","session"],[5,4,1,"","study"]],"datman.exporters":[[6,1,1,"","BidsExporter"],[6,1,1,"","DBExporter"],[6,1,1,"","DcmExporter"],[6,1,1,"","Exporter"],[6,1,1,"","NiiExporter"],[6,1,1,"","NiiLinkExporter"],[6,1,1,"","SeriesExporter"],[6,1,1,"","SessionExporter"],[6,1,1,"","SharedExporter"],[6,5,1,"","get_exporter"]],"datman.exporters.BidsExporter":[[6,2,1,"","add_repeat_num"],[6,2,1,"","export"],[6,2,1,"","get_sidecars"],[6,2,1,"","needs_raw_data"],[6,2,1,"","outputs_exist"],[6,4,1,"","type"]],"datman.exporters.DBExporter":[[6,2,1,"","add_tech_notes"],[6,2,1,"","errors_outdated"],[6,2,1,"","export"],[6,2,1,"","get_bids_name"],[6,2,1,"","get_output_dir"],[6,2,1,"","make_scan"],[6,2,1,"","make_session"],[6,3,1,"","names"],[6,2,1,"","needs_raw_data"],[6,2,1,"","outputs_exist"],[6,4,1,"","type"]],"datman.exporters.DcmExporter":[[6,2,1,"","export"],[6,4,1,"","ext"],[6,4,1,"","type"]],"datman.exporters.Exporter":[[6,2,1,"","export"],[6,2,1,"","get_output_dir"],[6,2,1,"","make_output_dir"],[6,2,1,"","needs_raw_data"],[6,2,1,"","outputs_exist"],[6,4,1,"","type"]],"datman.exporters.NiiExporter":[[6,2,1,"","export"],[6,4,1,"","ext"],[6,2,1,"","move_file"],[6,2,1,"","report_issues"],[6,4,1,"","type"]],"datman.exporters.NiiLinkExporter":[[6,2,1,"","belongs_to_session"],[6,2,1,"","clear_errors"],[6,2,1,"","export"],[6,4,1,"","ext"],[6,2,1,"","get_bids_niftis"],[6,2,1,"","get_dm_names"],[6,2,1,"","get_error_file"],[6,2,1,"","get_output_dir"],[6,2,1,"","get_series_num"],[6,2,1,"","make_datman_name"],[6,2,1,"","make_link"],[6,2,1,"","match_dm_to_bids"],[6,2,1,"","needs_raw_data"],[6,2,1,"","outputs_exist"],[6,2,1,"","report_errors"],[6,4,1,"","type"]],"datman.exporters.SeriesExporter":[[6,4,1,"","ext"],[6,2,1,"","needs_raw_data"],[6,2,1,"","outputs_exist"]],"datman.exporters.SharedExporter":[[6,2,1,"","export"],[6,4,1,"","ext"],[6,2,1,"","find_bids_files"],[6,2,1,"","find_dm_files"],[6,2,1,"","find_resource_files"],[6,2,1,"","find_source_session"],[6,2,1,"","get_output_dir"],[6,2,1,"","make_name_map"],[6,2,1,"","needs_raw_data"],[6,2,1,"","outputs_exist"],[6,4,1,"","type"]],"datman.fs_log_scraper":[[7,1,1,"","FSLog"],[7,5,1,"","check_diff"],[7,5,1,"","choose_standard_sub"],[7,5,1,"","make_standards"],[7,5,1,"","scrape_logs"],[7,5,1,"","verify_standards"]],"datman.fs_log_scraper.FSLog":[[7,2,1,"","get_args"],[7,2,1,"","get_date"],[7,2,1,"","get_kernel"],[7,2,1,"","get_niftis"],[7,2,1,"","get_subject"],[7,2,1,"","parse_recon_done"],[7,2,1,"","read_log"]],"datman.header_checks":[[8,5,1,"","check_bvals"],[8,5,1,"","compare_headers"],[8,5,1,"","construct_diffs"],[8,5,1,"","find_bvals"],[8,5,1,"","handle_diff"],[8,5,1,"","parse_file"],[8,5,1,"","read_json"],[8,5,1,"","remove_fields"],[8,5,1,"","write_diff_log"]],"datman.metrics":[[9,1,1,"","ABCDPHAMetrics"],[9,1,1,"","AnatMetrics"],[9,1,1,"","AnatPHAMetrics"],[9,1,1,"","DTIMetrics"],[9,1,1,"","DTIPHAMetrics"],[9,1,1,"","FMRIMetrics"],[9,1,1,"","FMRIPHAMetrics"],[9,1,1,"","IgnoreMetrics"],[9,1,1,"","Metric"],[9,1,1,"","MetricDTI"],[9,1,1,"","QAPHAMetrics"],[9,1,1,"","QCOutput"],[9,5,1,"","get_handlers"]],"datman.metrics.ABCDPHAMetrics":[[9,2,1,"","generate"],[9,4,1,"","outputs"]],"datman.metrics.AnatMetrics":[[9,2,1,"","generate"],[9,4,1,"","outputs"]],"datman.metrics.AnatPHAMetrics":[[9,2,1,"","generate"],[9,4,1,"","outputs"]],"datman.metrics.DTIMetrics":[[9,2,1,"","generate"],[9,4,1,"","outputs"]],"datman.metrics.DTIPHAMetrics":[[9,2,1,"","generate"],[9,4,1,"","outputs"]],"datman.metrics.FMRIMetrics":[[9,2,1,"","generate"],[9,4,1,"","outputs"]],"datman.metrics.FMRIPHAMetrics":[[9,2,1,"","generate"],[9,4,1,"","outputs"]],"datman.metrics.IgnoreMetrics":[[9,2,1,"","exists"],[9,2,1,"","generate"],[9,4,1,"","outputs"],[9,2,1,"","write_manifest"]],"datman.metrics.Metric":[[9,2,1,"","command_succeeded"],[9,2,1,"","exists"],[9,2,1,"","generate"],[9,2,1,"","get_requirements"],[9,2,1,"","is_runnable"],[9,2,1,"","make_image"],[9,2,1,"","make_manifest"],[9,2,1,"","make_montage"],[9,3,1,"","manifest_path"],[9,2,1,"","outputs"],[9,2,1,"","read_manifest"],[9,4,1,"","requires"],[9,2,1,"","run"],[9,2,1,"","set_outputs"],[9,2,1,"","write_manifest"]],"datman.metrics.QAPHAMetrics":[[9,2,1,"","generate"],[9,4,1,"","outputs"],[9,2,1,"","update_expected_outputs"]],"datman.metrics.QCOutput":[[9,4,1,"","caption"],[9,4,1,"","order"],[9,4,1,"","title"]],"datman.scan":[[10,1,1,"","DatmanNamed"],[10,1,1,"","Scan"],[10,1,1,"","Series"]],"datman.scan.Scan":[[10,2,1,"","find_files"],[10,2,1,"","get_resource_dir"],[10,2,1,"","get_tagged_nii"],[10,3,1,"","niftis"]],"datman.scan_list":[[11,1,1,"","ScanEntryABC"],[11,5,1,"","generate_scan_list"],[11,5,1,"","get_scan_list_contents"],[11,5,1,"","make_new_entries"],[11,5,1,"","start_new_scan_list"],[11,5,1,"","update_scans_csv"]],"datman.scan_list.ScanEntryABC":[[11,2,1,"","get_target_name"]],"datman.scanid":[[12,1,1,"","BIDSFile"],[12,1,1,"","DatmanIdentifier"],[12,1,1,"","Identifier"],[12,1,1,"","KCNIIdentifier"],[12,5,1,"","get_field"],[12,5,1,"","get_kcni_identifier"],[12,5,1,"","get_session_num"],[12,5,1,"","get_subid"],[12,5,1,"","is_phantom"],[12,5,1,"","is_scanid"],[12,5,1,"","is_scanid_with_session"],[12,5,1,"","make_filename"],[12,5,1,"","parse"],[12,5,1,"","parse_bids_filename"],[12,5,1,"","parse_filename"]],"datman.scanid.DatmanIdentifier":[[12,2,1,"","get_xnat_experiment_id"],[12,2,1,"","get_xnat_subject_id"],[12,4,1,"","pha_pattern"],[12,4,1,"","pha_re"],[12,4,1,"","scan_pattern"],[12,4,1,"","scan_re"],[12,3,1,"","session"]],"datman.scanid.Identifier":[[12,2,1,"","get_bids_name"],[12,2,1,"","get_full_subjectid"],[12,2,1,"","get_full_subjectid_with_timepoint"],[12,2,1,"","get_full_subjectid_with_timepoint_session"],[12,2,1,"","get_xnat_experiment_id"],[12,2,1,"","get_xnat_subject_id"],[12,2,1,"","match"]],"datman.scanid.KCNIIdentifier":[[12,2,1,"","get_xnat_experiment_id"],[12,2,1,"","get_xnat_subject_id"],[12,4,1,"","pha_pattern"],[12,4,1,"","pha_re"],[12,4,1,"","scan_pattern"],[12,4,1,"","scan_re"]],"datman.utils":[[13,1,1,"","XNATConnection"],[13,1,1,"","cd"],[13,5,1,"","check_dependency_configured"],[13,5,1,"","check_returncode"],[13,5,1,"","define_folder"],[13,5,1,"","filter_niftis"],[13,5,1,"","find_tech_notes"],[13,5,1,"","get_all_headers_in_folder"],[13,5,1,"","get_archive_headers"],[13,5,1,"","get_extension"],[13,5,1,"","get_files_with_tag"],[13,5,1,"","get_folder_headers"],[13,5,1,"","get_loaded_modules"],[13,5,1,"","get_relative_source"],[13,5,1,"","get_resources"],[13,5,1,"","get_subject_metadata"],[13,5,1,"","get_tarfile_headers"],[13,5,1,"","get_xnat_credentials"],[13,5,1,"","get_zipfile_headers"],[13,5,1,"","has_permissions"],[13,5,1,"","is_dicom"],[13,5,1,"","is_named_like_a_dicom"],[13,5,1,"","locate_metadata"],[13,5,1,"","make_temp_directory"],[13,5,1,"","make_zip"],[13,5,1,"","makedirs"],[13,5,1,"","nifti_basename"],[13,5,1,"","read_blacklist"],[13,5,1,"","read_checklist"],[13,5,1,"","read_credentials"],[13,5,1,"","read_json"],[13,5,1,"","remove_empty_files"],[13,5,1,"","run"],[13,5,1,"","run_dummy_q"],[13,5,1,"","split_path"],[13,5,1,"","splitext"],[13,5,1,"","submit_job"],[13,5,1,"","update_blacklist"],[13,5,1,"","update_checklist"],[13,5,1,"","validate_subject_id"],[13,5,1,"","write_json"],[13,5,1,"","write_metadata"]],"datman.xnat":[[14,1,1,"","XNATExperiment"],[14,1,1,"","XNATObject"],[14,1,1,"","XNATScan"],[14,1,1,"","XNATSubject"],[14,5,1,"","get_auth"],[14,5,1,"","get_connection"],[14,5,1,"","get_port_str"],[14,5,1,"","get_server"],[14,1,1,"","xnat"]],"datman.xnat.XNATExperiment":[[14,2,1,"","assign_scan_names"],[14,2,1,"","download"],[14,2,1,"","get_autorun_ids"],[14,2,1,"","get_resources"],[14,2,1,"","is_shared"]],"datman.xnat.XNATScan":[[14,2,1,"","download"],[14,2,1,"","is_derived"],[14,2,1,"","is_multiecho"],[14,2,1,"","is_usable"],[14,2,1,"","raw_dicoms_exist"],[14,2,1,"","set_datman_name"],[14,2,1,"","set_tag"]],"datman.xnat.xnat":[[14,4,1,"","auth"],[14,2,1,"","create_resource_folder"],[14,2,1,"","delete_resource"],[14,2,1,"","dismiss_autorun"],[14,2,1,"","find_project"],[14,2,1,"","find_subject"],[14,2,1,"","get_dicom"],[14,2,1,"","get_experiment"],[14,2,1,"","get_experiment_ids"],[14,2,1,"","get_projects"],[14,2,1,"","get_resource"],[14,2,1,"","get_resource_archive"],[14,2,1,"","get_resource_ids"],[14,2,1,"","get_resource_list"],[14,2,1,"","get_scan"],[14,2,1,"","get_scan_ids"],[14,2,1,"","get_subject"],[14,2,1,"","get_subject_ids"],[14,4,1,"","headers"],[14,2,1,"","make_experiment"],[14,2,1,"","make_subject"],[14,2,1,"","open_session"],[14,2,1,"","put_dicoms"],[14,2,1,"","put_resource"],[14,2,1,"","rename_experiment"],[14,2,1,"","rename_subject"],[14,4,1,"","server"],[14,4,1,"","session"]],datman:[[3,0,0,"-","config"],[4,0,0,"-","dashboard"],[5,0,0,"-","exceptions"],[6,0,0,"-","exporters"],[7,0,0,"-","fs_log_scraper"],[8,0,0,"-","header_checks"],[9,0,0,"-","metrics"],[10,0,0,"-","scan"],[11,0,0,"-","scan_list"],[12,0,0,"-","scanid"],[13,0,0,"-","utils"],[14,0,0,"-","xnat"]]},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","property","Python property"],"4":["py","attribute","Python attribute"],"5":["py","function","Python function"],"6":["py","exception","Python exception"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:property","4":"py:attribute","5":"py:function","6":"py:exception"},terms:{"0":[0,12,13,15,17,19,22],"00":13,"005":17,"02":15,"0rc1":15,"1":[0,9,12,13,14,15,17,19],"10":22,"1000":17,"11":15,"111":17,"1111":17,"112":17,"1600":9,"16649196":[0,19],"1_snr_adc":9,"2":[0,9,12,13,14,15,17,19],"2006":[0,19],"2011":[0,19],"2014":22,"2019":15,"2020":15,"212":[0,19],"212_spectra":[0,19],"22":17,"222":17,"23":[0,19],"245":15,"247":15,"248":15,"250":15,"251":15,"252":15,"2_b0distortionratio":9,"3":[0,9,12,13,14,15,17,19],"333":17,"3_eddycurrentdistort":9,"4":[9,12],"443":17,"444":17,"4_avenyqratio":9,"5":[0,9,19,22],"59":[0,19],"5_favalu":9,"6":[0,9,12,19],"60dir":17,"7":9,"777":17,"8":[9,12],"9":[9,12,17],"999":17,"abstract":[6,9,11,12],"boolean":[6,17],"break":16,"case":[3,12,16,17],"class":[1,3,6,7,9,10,11,12,13,14],"default":[3,5,6,9,12,13,14,17,18],"do":[12,13,14,18],"export":[1,2,5,14,17,18,20],"function":[0,1,3,4,6,8,9,11,12,13,17,19],"import":[17,19,22],"int":[9,12],"long":4,"new":[6,14,16,17,19],"return":[3,4,6,9,11,12,13,14],"short":[0,6,17,19],"static":7,"super":[6,11],"switch":[3,13],"true":[6,10,13,14,17],"try":[16,17,18],"var":[13,17],"while":[4,12,14],A:[0,4,6,7,9,10,11,12,13,14,17,18,19],And:17,As:[3,12,17],At:17,By:[3,18],For:[0,5,12,17,18,19],If:[3,6,9,10,12,13,14,16,17,20],In:17,It:[0,13,14,17,18,19],NOT:[14,18],OR:13,On:20,One:[3,17],Or:17,That:[11,18],The:[0,3,6,7,9,10,11,12,13,14,17,18,19,20,22],These:[0,3,13,17,19,20,22],To:[0,6,11,17,19,20],Will:[13,14],_:12,__init__:[3,6,11],_b0:9,_bad_fd:[0,19],_corr:[0,9,19],_direct:9,_fd:[0,9,19],_imag:9,_montag:9,_plot:9,_qascripts_bold:[0,9,19],_qascripts_dti:[0,9,19],_raw:9,_scanlength:[0,9,19],_se:12,_sfnr:[0,9,19],_spectra:[0,9,19],_spikecount:9,_stat:[0,9,19],aa:18,abc:[6,9,12,14,17],abcd:[9,17],abcd_dmri:17,abcd_fmri:17,abcdphametr:9,abl:17,about:[7,10,13,18],abov:[0,17,19],absolut:[0,3,10,14,19],accept:[12,13,16,17],access:[10,13,14,17,20],accident:13,accur:6,accuraci:6,acq:[12,18],acquisit:[0,12,17,19],acquisitiontim:17,across:[0,19],act:17,action:14,activ:[0,19],actual:[6,16],ad:[14,16,18],adapt:3,add:[0,6,13,16,18,19,20],add_repeat_num:6,add_scan:4,add_sess:4,add_subject:4,add_tech_not:6,addit:[3,13,16,18,20,22],address:17,adni:[0,9,19],afni:[20,22],after:[4,10,13,16],again:17,against:17,aggreg:7,al:[0,19],alia:6,alias:6,all:[0,3,6,10,12,13,14,15,16,17,19,20,22],alloc:13,allow:[3,6,12,17],allow_parti:13,alphanumer:12,alreadi:[6,11,14,17],also:[0,6,13,14,17,19,20],alwai:12,an:[0,3,4,6,12,13,14,16,17,18,19,22],anaconda:[0,19],analysi:[0,19],analyt:[0,19],anat:[17,18],anatmetr:9,anatphametr:9,ani:[6,7,9,10,12,13,14,16,17,18,20,22],anoth:[6,12,14,17],anotherxnat:17,anyon:16,anyth:17,ap:[6,18],apart:14,api:[14,17,19],appear:[14,18],appli:[4,6,12,14,16,17,18,22],applic:19,ar:[0,4,6,7,9,12,13,14,16,17,18,19,20,22],archiv:[0,3,13,14,17,19],aren:16,arg:6,argslist:13,argument:[4,6,13],aris:[0,19],arm1:17,arm2:17,arm3:17,artifact:[0,19],asid:12,assess:[0,19],asset:[0,17,19,20],assign:[14,17],assign_scan_nam:14,associ:14,assum:[10,13,17],assur:[0,19],attempt:[4,13,14,16],attend:17,attribut:[6,10,14],auth:14,authent:22,autom:16,automat:[0,19],autorun:14,avail:[17,20],averag:[0,19],b0:[0,9,19],b0distort:9,b0fieldsourc:18,b:13,back:[13,17],bad:[0,19],base:[3,5,6,7,9,10,11,12,13,14,17,22],base_nam:14,basenam:13,basic:6,becaus:[14,17],becom:[0,10,17,19],been:[3,6,9,13,17,18,20,22],befor:[13,14,16,17,18],begin:17,behav:17,behavior:14,being:[0,13,17,19],belong:[6,10,13,14,17,18,22],belongs_to_sess:6,below:[12,16,17,20],benefit:17,best:13,between:[0,3,7,9,17,19],bewar:14,bid:[6,10,12,13,17,18,22],bids_fil:6,bids_id:13,bids_nam:[4,6],bids_opt:6,bids_path:6,bids_root:10,bids_s:13,bids_sess:4,bidsexport:6,bidsfil:12,bidsifi:17,bin:[20,22],blacklist:[13,19,22],blacklistdel:[17,22],block:[13,17,20],bold:[0,9,19],bool:[6,13,14],both:3,boxx:17,brain:[0,19],bravo:17,bug:[15,16],builder:16,bval:9,bvec:9,bytestr:15,c:13,ca:17,cach:14,calcul:[0,19],call:[6,11,12,14],camelcas:17,can:[3,4,6,11,12,13,14,16,17,18,20,22],candid:13,cannot:6,capit:17,caption:9,car:[6,17],care:13,caus:[12,13,14,17],cb:18,cd:[0,13,19,20],ce:12,centralslic:9,certain:[10,12,14],chanc:16,chang:[6,10,12,13,14,15,16,17],changelog:16,charact:[12,17],chavez:[0,19],check:[4,6,13,14,16],check_bval:8,check_dependency_configur:13,check_diff:7,check_returncod:13,checklist:[13,15,17,19,22],choose_standard_sub:7,chronolog:[0,19],circumv:13,classmethod:[6,9],clean:14,clear_error:6,clevi:17,clock:13,clone:[0,19,20],cmd:13,cmd_arg:7,cmh:17,cmt:17,code:[4,11,12,13,15,16,17],col_head:7,collect:[0,13,17,19],colon:16,column:18,com:[0,17,19,20],come:16,comma:[13,18],command:[9,13,16,20],command_nam:9,command_succeed:9,comment:[13,17,18],comment_field:17,commit:4,common:16,compar:[8,17],compare_head:8,comparison:17,compil:12,complet:[0,4,6,13,14,16,17,19,22],complianc:16,complic:17,compon:13,comput:3,conda:[0,19],conf_dir:20,config:[1,2,6,10,13,14,17,18,20,22],config_templ:17,configdir:[17,20],configexcept:5,configur:[3,10,13,14,18,19,20,22],conflict:3,conform:[12,13,14],connect:[0,4,14,17,19],consequ:14,consid:[3,13],consist:[12,17],construct:17,construct_diff:8,consult:14,contact:17,contain:[6,7,11,12,13,14,17,18,19],content:[6,10,13,17,22],context:[13,17],continu:16,contribut:19,control:18,convent:[10,12,13,14,17,22],convers:[6,15],convert:[4,12,17,22],copi:[17,20],core:[13,17],correct:[0,4,6,11,13,17,18,19],correctli:[13,16,17,18,20,22],correl:[0,9,19],correspond:12,corrupt:[0,19],could:[0,19],count:17,cpu_cor:13,creat:[0,4,6,10,11,12,14,17,19,20],create_resource_fold:14,creation:14,cred_fil:13,credenti:20,criteria:[4,18],csv:[0,9,11,13,17,19,22],current:[3,6,10,13,14,17,18,20],current_subid:12,customlabel:18,cut:[0,19],d:[0,13,19],dashboard:[1,2,5,6,13,17,18,22],dashboard_requir:4,dashboardexcept:[4,5],data:[0,5,6,10,13,14,17,18,19,20,22],data_dir:20,databas:[0,4,6,13,18,19,22],dataset:6,datatyp:[0,18,19],date:[4,10,17],date_field:17,date_str:7,datman:[1,17,18,20,22],datman_asset:[0,19],datman_id:11,datman_log:17,datmanassetsdir:[17,20],datmanidentifi:12,datmannam:10,datmanprojectsdir:[17,20],db:6,dbexport:6,dcm2bid:[6,17,19,22],dcm2niix:[6,20,22],dcm:[6,17],dcmdump:18,dcmexport:6,decemb:15,decod:15,decor:4,decorrel:[0,19],def:11,defaults_onli:3,defin:[0,3,5,6,9,11,13,14,17,19,22],define_fold:13,definit:[0,17,19],delet:[13,14,17,22],delete_resourc:14,dep:16,depend:[0,6,13,16,17,19,20,22],deposit:[14,22],deprec:15,deriv:11,describ:[12,17,18,20],descript:[0,4,12,13,17,18,19,22],design:[0,19],dest_dir:11,dest_fold:14,dest_zip:13,destin:[11,13,14],detail:[7,12,13,17],detect:[14,17,20],determin:17,deviat:[0,19],dicom:[0,6,11,12,13,14,17,18,19,22],dicom_patientname1:18,dicom_patientnamen:18,dicom_studyid1:18,dicom_studyidn:18,dict:[6,9,12,13,14],dictat:13,dictionari:[3,6,9,12,13,14,17],diff:8,differ:[0,3,6,7,14,17,19,22],differenti:3,diffimg:9,diffmask:9,dir:[6,12,13],dir_typ:6,direct:[0,9,19],directli:[13,20],directori:[3,6,10,11,13,17,20,22],disabl:14,discov:[3,6],discuss:22,dismiss:14,dismiss_autorun:14,displac:[0,19],displai:22,distinguish:[0,17,19],dm_blacklist_rm:[17,18,19],dm_config:[3,20],dm_dir:6,dm_file:6,dm_link:[15,18,19],dm_link_shared_id:[17,18,19],dm_log_serv:17,dm_name:6,dm_parse_ea:17,dm_parse_fac:19,dm_parse_gngo:17,dm_parse_nback:17,dm_qc_report:[17,19,20],dm_redcap_scan_complet:[17,19,20],dm_sftp:[17,19,20],dm_system:[3,13,17,20],dm_task_fil:[15,17,19],dm_xnat_extract:[17,18,19,20],dm_xnat_upload:[17,19],doc:16,docker:19,document:[16,18,22],doe:[0,6,10,12,13,14,17,19,20],doesn:[0,13,14,17,19],doesnt:[12,13,14,17],domain:17,don:[0,4,13,19,20],done:13,dont:13,download:[6,14,17,22],download_dir:14,downstream:13,drift:[0,19],drift_bx:[0,19],driftperc:[0,19],drop:13,dry_run:6,dryrun:13,dti01:12,dti15t:3,dti3t:3,dti60:17,dti:[0,3,8,9,12,17,19],dti_fieldmap:18,dtimetr:9,dtiphametr:9,due:20,dure:[0,6,17,19],dwi_dir:18,e:[3,4,6,10,12,13,16,17,20],each:[0,6,11,13,14,17,18,19],easi:10,echo:[12,17],echo_dict:6,echonumb:17,echotim:17,edat2:17,eddycurrentdist:9,either:[3,4,13,17],els:6,elsewher:17,empti:[6,7,13,14],enabl:3,encod:[0,19],end:[4,6,17],enh:16,enough:11,ensur:[4,6,12,13,16],enter:18,entir:[6,13],entri:[6,11,13,14,17,18],entryclass:11,env:[0,17,19],env_var:13,environ:[0,3,13,14,17,19,20,22],environmenterror:13,ep2d:17,epi:18,eprim:22,equival:6,error:[5,6],errors_outd:6,et:[0,19],etc:[0,13,17,19],even:[13,14],event:17,everi:[3,17],exact:[3,9],exactli:17,exam:[0,13,19],exampl:[0,11,12,13,19],examplescanentri:11,except:[1,2,3,13,14,17],excerpt:17,exclam:16,exclud:12,exist:[0,3,6,9,13,14,16,17,18,19],exit:[4,13],expect:[3,4,6,7,8,9,11,13,17],expected_kei:7,exper_id:14,experi:[6,14],experienc:14,experiment_json:14,export_set:3,exporterexcept:5,exportexcept:5,exportinfo:[3,22],exportset:3,express:17,ext:[6,12],extens:[6,13,17,18],extern:[19,22],extract:3,f:4,face:22,fail:[13,14],failur:[13,14],fals:[3,4,6,7,8,9,13,14,17],fbirn:[0,9,19],fbrin:[0,19],fd:[0,19],feat:16,featur:[16,17],fewer:17,field:[3,7,8,11,12,13,14,17],file:[0,3,4,6,7,8,9,10,11,12,13,14,16,19,20,22],file_path:[8,14],file_stem:[6,10],filenam:[3,13,14],filename_requir:4,fileobj:13,filesystem:[6,13],fill:17,filter:4,filter_nifti:13,find:[6,12,13,14,16,17,18,22],find_bids_fil:6,find_bval:8,find_dm_fil:6,find_fil:10,find_project:14,find_resource_fil:6,find_source_sess:6,find_subject:14,find_tech_not:13,findabl:13,finish:[14,18],first:[3,4,14,15,17,18],fit:17,fix:[15,16],flag:[12,13,20],flair:18,flake8:16,fluctuat:[0,19],fmap:[6,17,18],fmri:[0,9,17,19],fmri_fieldmap:18,fmrimetr:9,fmriphametr:9,fname:6,fname_root:6,folder:[0,3,6,7,13,14,16,17,18,19,20,22],foldernam:14,follow:[0,16,17,19],fool:13,form:17,format:[6,10,11,12,13,14,16,17,18,22],found:[3,4,6,7,13,14,17,22],fpath:13,framewis:[0,19],freeform:17,freesurf:7,freesurfer_fold:7,friedman:[0,19],from:[0,3,4,5,6,7,9,10,12,13,14,15,16,17,18,19,20,22],fs_log_scrap:[1,2],fs_output_fold:7,fsl:[9,20,22],fslog:7,ftp:22,ftpport:17,ftpserver:17,full:[3,6,9,12,13,14,17,20],fulli:[13,17],fullnam:17,functionwrapp:3,further:[0,19],fuzzi:13,g:[3,4,6,10,12,17,20],gap:9,gen_fil:6,gener:[0,6,7,9,11,13,17,18,19,20,22],generate_scan_list:11,get:[3,4,6,12,13,14,17,18],get_all_headers_in_fold:13,get_archive_head:13,get_arg:7,get_auth:14,get_autorun_id:14,get_bids_nam:[6,12],get_bids_nifti:6,get_bids_scan:4,get_bids_subject:4,get_connect:14,get_dat:7,get_default_us:4,get_dicom:14,get_dm_nam:6,get_error_fil:6,get_experi:14,get_experiment_id:14,get_export:6,get_extens:13,get_field:12,get_files_with_tag:13,get_folder_head:13,get_full_subjectid:12,get_full_subjectid_with_timepoint:12,get_full_subjectid_with_timepoint_sess:12,get_handl:9,get_kcni_identifi:12,get_kei:3,get_kernel:7,get_loaded_modul:13,get_nifti:7,get_output_dir:6,get_path:3,get_port_str:14,get_project:[4,14],get_relative_sourc:13,get_requir:9,get_resourc:[13,14],get_resource_arch:14,get_resource_dir:10,get_resource_id:14,get_resource_list:14,get_scan:[4,14],get_scan_id:14,get_scan_list_cont:11,get_series_num:6,get_serv:14,get_sess:4,get_session_num:12,get_sidecar:6,get_sit:3,get_study_bas:3,get_study_subject:4,get_study_tag:3,get_subid:12,get_subject:[4,7,14],get_subject_id:14,get_subject_metadata:13,get_tag:3,get_tagged_nii:10,get_tarfile_head:13,get_target_nam:11,get_xnat_credenti:13,get_xnat_experiment_id:12,get_xnat_project:3,get_xnat_subject_id:12,get_zipfile_head:13,git:[0,19,20],github:[0,15,19,20],give:[3,14,16,17],given:[3,4,6,9,10,12,13,14,17],global:[0,17,19],global_corr:[0,19],glossari:19,gmean:[0,19],gmean_bx:[0,19],go:[13,17,18],goe:[11,17,18],gold:[8,22],good:[0,19],gov:[0,19],grab:14,grace:13,grappa:17,greatli:14,group:12,guarante:22,gui:14,guidelin:16,gz:[0,6,9,13,19],ha:[3,4,13,14,17,18],had:[6,18],hand:17,handle_diff:8,happen:4,has_permiss:13,have:[0,6,13,14,17,18,19,20,22],haven:9,head:[0,19],header:[0,8,11,12,13,14,17,18,19],header_check:[1,2],headerfield:17,headerfieldtoler:17,help:[4,16,17,18],here:[0,11,12,16,17,18,19,20,22],higher:[0,19],hold:[10,13,17,18,20],home:17,how:[12,17,22],howev:[6,17],html:[0,18,19],http:[0,17,19,20],httperror:14,human:[0,17,19],i:[3,13,16,17],id:[3,4,5,6,10,11,12,13,14,17,18,20],ident:[10,12,14,17],identif:12,identifi:[0,3,4,6,10,12,13,14,17,18,19],idl:4,idmap:22,idtyp:12,ignor:[8,13,16,17,22],ignore_default:3,ignored_field:8,ignoreheaderfield:17,ignoremetr:9,imag:[0,9,13,17,19],imagetyp:17,img_gap:9,implement:6,imposs:14,includ:[6,12,13,17,18,20],incorrect:13,index:19,indic:[13,16,17,18],info:[12,17,18],inform:[0,1,4,7,10,11,18,19],init:6,initi:[13,17,18],input:[6,9],input_nii:9,inputexcept:5,insert:9,insid:[16,17],instal:[0,3,13,16,17,18,19,22],install_config:3,instanc:[0,3,4,6,10,11,12,13,14,19],instantan:[0,19],instead:[6,13,15,17,18,20],instrument:17,integ:17,integr:[13,17,20],intend:[6,11],intended_name1:18,intended_namen:18,intens:[0,19],intensitii:[0,19],interact:[14,17,20],interchang:14,interest:[13,14],interf:14,interfac:19,introduc:16,ip:17,is_complet:17,is_deriv:14,is_dicom:13,is_multiecho:14,is_named_like_a_dicom:13,is_open:4,is_phantom:12,is_runn:9,is_scanid:12,is_scanid_with_sess:12,is_shar:14,is_us:14,isn:[4,6],isnt:[4,13],isopen:17,issu:[5,6,16,20],item:13,its:[6,12,14,17],itself:[3,17],j:[0,18,19],januari:15,job:[13,17],job_nam:13,joblist:13,join:3,jonathan:[0,19],jpg:9,json:[6,8,17,19],json_cont:8,json_fil:8,json_path:8,just:[3,13,15,17,20],kcni:[12,17],kcniidentifi:12,keep:17,kei:[3,6,12,17],kept:17,keyerror:14,keyword:[0,19],kind:[0,19],kit:22,know:[0,19],known_host:22,kwarg:[4,6],l:[0,19],label:[14,17],lack:13,larg:[0,6,19,20],last:17,launch:14,lead:13,least:[3,17],left:[7,17],less:17,letter:17,level:[0,2,17,19],librari:[0,11,19],licens:20,like:[14,16,17,18],limit:17,line:[7,13,17,18,20],linear:[0,19],link:[0,14,17,19,22],linux:20,list:[4,6,7,11,13,14,16,17,18,20],list_of_nam:13,listen:17,liter:17,ll:20,load:13,load_yaml:3,loadedmodul:13,local:[3,17,20],locat:[3,4,13,14,17,18],locate_metadata:13,log:[6,7,13,16,22],log_dir:13,log_field:7,log_unam:7,logserv:17,logserverdir:17,longer:16,look:[0,13,14,16,19],low:[0,19],lowest:[0,19],machin:17,made:14,mag1:17,mag2:17,magn:[0,19],magphan_adni_manu:[0,19],mai:[6,10,13,16,17,18,22],main:[3,17,20],main_config:[17,20],maintain:12,major:[0,19],make:[6,10,11,13,14,20,22],make_datman_nam:6,make_experi:14,make_filenam:12,make_imag:9,make_link:6,make_manifest:9,make_montag:9,make_name_map:6,make_new_entri:11,make_output_dir:6,make_scan:6,make_sess:6,make_standard:7,make_subject:14,make_temp_directori:13,make_zip:13,makedir:13,manag:[0,11,12,13,17,19,20],mangl:[12,13,17],mani:17,manifest_path:9,manufacturersmodelnam:17,map:[3,6,9,12,13,14,17],map_xnat_archive_to_project:3,mark:[14,16],maskcentralslic:9,match:[0,3,4,6,10,12,13,14,17,19],match_dm_to_bid:6,matlab:[20,22],matlabpath:[0,19],maxabsrm:[0,19],maxim:16,maximum:[0,19],maxrelrm:[0,19],mean:[0,17,19],mean_fd:[0,19],mean_sfnr:[0,19],meanabsrm:[0,19],meanrelrm:[0,19],meant:[14,17],measur:[0,19],measures:[0,19],mem:13,merg:3,messag:[5,6,13,17],meta:[17,18,22],metadata:[14,18],metadata_path:11,metadataexcept:[5,13],method:[1,6,12,17],metric:[0,1,2,17,19,22],metricdti:9,might:12,minc:22,mind:17,minu:[6,18],miss:6,mm:[0,19],mnc:17,mod:12,modal:[0,12,19],modalitylabel:18,model:6,modifi:[6,12,14,15,17],modul:[1,2,19],montag:9,more:[0,12,13,14,16,17,18,19],most:[0,3,6,7,17,19],mostli:14,motion:[0,19],mount:17,move:6,move_fil:6,mr:12,mrfolder:17,mrftppass:17,mri:[0,17,19],mruser:17,multicent:[0,19],multipl:[3,4,12,17,18],mung:13,must:[6,9,13,17,18,22],my_instru:17,my_zip_list:11,myftppass:17,myproject:17,myredcapserv:17,myriad:[0,19],myscan:17,mysftp:17,mystudi:17,mystudy_ut1:17,mysystem:17,mytoken:17,myuser:17,myxnat:17,n_bad_fd:[0,19],name:[0,3,4,6,9,10,11,12,13,14,17,18,19,20,22],name_map:6,nativ:12,nb0:[0,19],ncbi:[0,19],nd:17,ndir:[0,19],necessari:16,need:[0,6,9,14,16,17,19,20],needs_raw_data:6,network:[0,19],neuroimag:[0,19],new_entri:11,new_nam:14,newer:22,next:17,nf:17,nibabel:[0,19],nicknam:13,nifti:[0,6,8,9,10,17,18,19],nifti_basenam:13,nifti_path:6,nightli:17,nih:[0,19],nii:[0,6,9,10,13,17,18,19,22],nii_input:9,nii_link:6,niiexport:6,niilinkexport:6,nlm:[0,19],nois:[0,19],non:[12,13,14,17],none:[3,4,5,6,7,8,9,10,12,13,14,22],norm:17,note:[6,13,14,17,18,20,22],noth:14,nrrd:[17,22],num:12,number:[0,6,12,13,17,19],numer:[12,17],nyquistratio:9,obei:10,object:[3,6,7,9,10,11,12,13,14],obnoxi:14,obtain:[0,19],obvious:14,off:[0,13,19],offici:18,often:17,old:[16,17],old_nam:14,omit:[16,17],ommit:13,onc:[17,20],one:[0,6,12,14,16,17,18,19],ones:[0,15,19],onli:[0,3,13,14,17,19,22],onto:3,open:[4,14,16],open_sess:14,open_zipfil:13,oper:4,option:[4,6,9,10,12,13,14,16,18,20,22],order:[9,13],organ:[6,13,14,17],orig_id:12,orig_zip_name1:18,orig_zip_namen:18,origin:[6,12,13,17,22],os:[3,13],oserror:13,other:[0,6,12,13,14,16,17,19,20],otherwis:[6,13,14,17],otherxnat:17,our:[0,16,17,18,19],out:[10,17,20],outcount:[0,19],outcount_bx:[0,19],outlier:[0,19],outmax:[0,19],outmax_bx:[0,19],outmean_bx:[0,19],outmin:[0,19],output:[6,7,9,11,13,14,17,20],output_dir:[6,9,14],output_path:8,outputs_exist:6,outsid:17,over:[0,19],overrid:[3,6,10,19,22],overridden:[3,17],overwrit:[0,9,19],overwritten:13,own:[14,17,18,20],p:[12,17],pa:[6,18],packag:[0,1,16,19],page:[17,18,19,22],pair:17,par:9,par_id:17,paramet:[4,6,7,9,10,12,13,14,17],parent:[10,13,14,17],parentdir:13,pars:[0,5,7,12,13,14,19],parse_bids_filenam:12,parse_fil:8,parse_filenam:[12,13],parse_recon_don:7,parseexcept:[5,10,12,13],part:[3,13,17],partial:13,particip:[5,22],particular:6,partit:13,pass:[11,13,16,18],password:[13,14,17,20,22],path:[3,6,7,9,10,12,13,14,16,20,22],path_typ:3,patientnam:[11,18],pattern:3,pdf:[0,19],peopl:16,pep8:[15,16],pepolar_dwi_fmap:18,pepolar_rest_fmap:18,per:[0,17,19],perform:[0,18,19],permiss:13,person:13,pha:12,pha_:12,pha_pattern:12,pha_r:12,pha_typ:12,phantom:[0,4,12,17,19],phantomlab:[0,19],phaseencodingdirect:18,pip:[16,20],pipelin:[0,13,14,17,18,19],pixel:9,place:[0,17,19],plain:17,plan:20,pleas:[0,3,16,19],plot:9,png:9,pngappend:9,point:[0,6,17,19,22],popul:[6,14,18],port:[14,17],portion:[12,17],portnum:14,possibl:[3,6,16],post:14,power:[0,19],pr:16,practic:[0,13,19],pre:[0,17,18,19],prearchiv:[0,19],prefer:17,preferenti:13,prefix:[0,13,16,19,22],present:17,preserv:[13,17],prevent:[14,17],previou:6,previous:6,primari:[0,19],primarycontact:17,probabl:6,problem:[0,19],process:[0,13,18,19],processed_scan:11,produc:14,program:[13,19],program_nam:13,project:[0,3,14,19],projectdir:17,properti:[3,6,9,10,12],protocol:[0,19],provid:[13,17,20],proxi:3,pubm:[0,19],pull:[4,15,16,17],push:22,put:[13,22],put_dicom:14,put_resourc:14,py:[0,3,15,17,18,19,20],pylint:16,pyproject:16,pytest:16,python3:15,python:[0,13,15,17,19],pythonpath:[0,19],qa:[0,9,19],qa_dti:17,qaphametr:9,qascript:[0,19],qc:[0,6,9,13,17,18,19,22],qc_:[0,19],qc_study_cmh_0000_01:18,qc_study_cmh_0001_01:18,qcexcept:[5,9],qcing:[0,19],qcmon:[0,19,20],qcoutput:9,qcpha:17,qctype:17,qualifi:17,qualiti:18,queri:[14,17],queu:[13,14],queue:[13,17],r2014a:22,ra:17,radiu:[0,19],rais:[3,4,9,10,12,13,14],ran:20,rather:[0,19,20],ratio:[0,19],raw:[0,5,6,17,18,19,22],raw_data_dir:6,raw_dicoms_exist:14,re:[0,3,12,13,19],read:[0,3,4,13,14,17,18,19],read_blacklist:13,read_checklist:13,read_credenti:13,read_json:[8,13],read_log:7,read_manifest:9,readabl:[16,17],real:13,reason:18,rec:12,receiv:[4,17],recon_don:7,record:[17,18],record_id_field:17,recurs:13,redcap:[15,20,22],redcap_token:[17,20,22],redcapapiurl:17,redcapcom:17,redcapd:17,redcapeventid:17,redcapinstru:17,redcapprojectid:17,redcaprecordkei:17,redcapstatu:17,redcapstatusvalu:17,redcapsubj:17,redcaptoken:17,redcapurl:17,redefin:17,reduc:18,ref:[15,16],refactor:16,refer:[14,17],referenc:6,regex:17,regular:17,reject:12,rel:[0,7,17,19],releas:[15,16],release_db:4,relev:16,remotelogin:17,remoteprojectid:17,remov:[6,13,15,16,17,22],remove_empty_fil:13,remove_field:8,renam:[14,18],rename_exp:14,rename_experi:14,rename_subject:14,repeat:6,repeatedli:13,repetitiontim:17,replac:[16,20],report:[0,6,7,14,17,19],report_error:6,report_issu:6,request:[14,16,17],requir:[0,6,9,14,19,20],reson:[0,19],resourc:[6,14,17,22],resource_group_id:14,resource_id:14,respect:[6,17],respons:14,rest:[0,19],rest_dir:18,restrict:[3,12,14],result:[3,9,12],retri:[13,14],retriev:[6,12,14,17,18,20,22],returncod:13,reus:4,revers:17,review:18,right:17,risk:18,roi:[0,19],rollback:4,root:[0,10,18,19,20],rootdir:20,round:15,rst:[17,18],run:[0,4,6,7,9,12,13,14,16,17,18,19,20,22],run_dummy_q:13,s1:[0,19],s2:[0,19],s3:[0,19],s4:[0,19],s5:[0,19],s:[0,3,4,6,9,12,13,14,16,17,18,19,20,22],sag:17,sag_mprage_t1:18,same:[0,4,6,13,14,17,18,19,22],save:[11,13],scan:[0,1,2,6,9,11,12,13,14,17,19,22],scan_entry_class:11,scan_id:14,scan_json:14,scan_list:[1,2],scan_path:11,scan_pattern:12,scan_r:12,scan_tag:6,scanentryabc:11,scanid:[1,2,4,10,13,14,15],scanid_requir:4,scanlength:9,scans_csv:11,scheme:[10,17,22],scipi:[0,19],scope:6,scrape:7,scrape_log:7,script:[0,4,7,11,13,15,17,18,19,20],se:12,search:[3,6,13,14,17,19],second:[16,17,18],section2:9,section:17,see:[0,12,13,17,18,19],seemingli:14,self:[9,11],sensit:[12,16,17],sent:17,separ:[13,17,18],seri:[0,4,6,8,10,12,13,14,17,18,19],series_json:8,series_map:3,series_path:8,seriesdescript:[12,17,18],seriesexport:6,server:[14,17,22],server_cach:14,serverlogdir:17,session:[3,5,6,9,10,12,13,14,17,18,22],sessionexport:6,set:[0,3,4,6,9,12,13,14,18,19,20,22],set_datman_nam:14,set_output:9,set_studi:3,set_study_statu:4,set_tag:14,setup:[0,19],sfnr:9,sftp:[17,22],sge:17,share:[3,6,14,18],sharedexport:6,shell:[13,17],shell_cmd:13,should:[6,11,12,13,14,16,17,18,20],show:17,shown:20,side:[6,17],side_car:6,sidecarchang:18,sign:13,signal:[0,19],similar:[12,13],sinc:13,singl:[0,6,9,10,12,13,14,17,19,20],sit:[0,19],site:[3,4,12,13,14],site_set:3,sitetag:3,size:9,slice:9,slicer:[9,22],slightli:13,slurm:[13,17],small:17,snr:[0,19],snrimg:9,so:[0,3,13,14,19],sofia:[0,19],softwar:[20,22],some:[6,12,16,18,20,22],somefold:17,sometim:14,sophist:13,sourc:[3,4,5,6,7,8,9,10,11,12,13,14,17],source_dir:13,source_id:4,source_nam:18,space:[13,18],special:13,specialquot:13,specif:[1,3,4,13,14,17,20],specifi:[3,4,12,13,14,17,18],spectra:[0,19],spikecount:9,spin:[3,4,17],split:[6,13,17],split_path:13,splitext:13,spn01:[3,4],spn01_zhh_0018_01_01_rst_06_rest:[0,19],sprl:17,spuriou:[0,19],squar:[0,19],stack:[0,19],standard:[0,7,8,16,19,22],standard_json:8,standard_log:7,standard_path:8,standards_dict:7,standards_field:7,start:17,start_new_scan_list:11,state:[0,4,14,19],statu:14,std:[17,22],stdout:13,stdplotshist:9,stem:6,still:[9,17,20],stop_after_first:13,store:[6,10,14,17,18],str:[6,9,10,12,13,14],strict:14,string:[4,6,9,12,13,14,17],strip:16,stroke:[0,19],structur:[0,14,17,18,19],stu01:17,stu01_uto_10001_01_se01_mr:17,stuck:[4,14],studi:[0,3,4,5,6,10,12,13,14,18,19,20,22],study1:17,study1_config:17,study1_site_0000_01_01:18,study1_site_0001_01_01:18,study1_ut2_abc0001_01_01:17,study2_site_0000_01_01:18,study2_site_0001_01_01:18,study3_site_0000_01_01:18,study_config:[3,17],study_config_fil:3,study_nam:3,study_nicknam:20,study_requir:3,study_site_0000_01_01_tag_00:18,studya:17,studyb:17,studyb_cmh:17,studyc:17,studyid:18,studytag:[3,17],style:[4,6,12,13,14,16,17],sub:5,sub_id_field:17,subclass:[6,11,12],subfold:[13,14],subject:[0,4,7,9,10,11,12,13,14,15,17,18,19],subject_field:7,subject_id:[10,13,14],subject_json:14,subject_log:7,subject_nam:14,submit:[13,17],submit_job:13,submodul:1,subset:[17,18],success:[13,14],suffix:[12,13],suppli:[3,13],support:[12,13],survei:[17,22],symlink:[6,22],system:[3,13,17,20],system_config:3,systemat:[0,11,19],systemset:20,t1:[0,17,18,19],t1w:18,t2:17,t2w_spc_vnav:17,t:[0,4,6,9,12,13,14,16,17,19,20],tabl:17,tag:[0,3,4,6,10,12,13,14,16,17,19],tag_map:14,taginfo:3,take:[0,3,6,7,13,17,19],taken:[0,6,19],tar:13,tarbal:[0,13,19],target:13,target_nam:18,target_subject:18,task:[12,22],taskregex:17,tech:[6,13],technic:12,technot:13,tell:[14,16],temp:6,tempfil:14,templat:17,tempor:[0,19],temporari:[14,17],tend:14,termin:4,test:[16,17],text:22,than:[14,17,20],thei:[0,3,13,17,18,19],them:[3,12,14,16,17,22],thi:[0,3,4,6,10,11,12,13,14,16,17,18,19,20,22],thing:[0,19],third:18,those:12,though:[14,20],three:[0,9,17,19],through:[0,6,14,19],tigrlab:[0,19,20],tigrlab_scan_completed_complet:17,time:[0,12,13,19],timepoint:12,timeseri:[0,19],titl:[9,16,17],tmp:[13,17],todai:[0,19],token:[17,20,22],toler:[8,17],toml:16,tool:[17,18,22],top:2,tr:[0,19],track:[0,19],transact:4,translat:[12,17],treat:17,trigger:17,tsnr:[0,19],tsnr_bx:[0,19],tsv:22,tumor:[0,19],tune:17,tupl:[12,14],two:[0,3,6,17,18,19],txt:[13,17],type:[0,3,6,9,12,13,14,16,17,18,19,20,22],typo:17,u:20,unabl:14,unassign:[0,19],undefin:17,undefinedset:[3,5],under:[0,6,14,19],undergo:18,unexpect:14,uniform:10,uniqu:[6,17],unit:16,univers:6,unless:13,unlik:17,unset:[14,17],until:[4,13],up:[0,6,13,14,17,19],updat:[13,15,16,20],update_blacklist:13,update_checklist:13,update_expected_output:9,update_scans_csv:11,upload:[14,17,22],uri:14,url:[14,17],us:[0,3,5,7,9,11,12,13,14,16,17,18,19,20,22],use_bid:[6,13],user:[12,14,17,18,20,22],user_nam:13,usernam:[14,17,20,22],usesredcap:17,usual:17,ut1:[12,17],ut2:[12,17],util:[1,2,8,20],uto:[12,17],v:20,valid:[6,10,12,14],validate_subject_id:13,valu:[0,3,8,10,12,13,17,18,19],variabl:[3,13,14,15,17,20,22],variou:17,vector:[0,19],verbos:13,veri:16,verifi:13,verify_standard:7,versa:17,version:[13,15,16,22],versu:14,vice:17,visual:9,voxel:[0,19],wa:[0,3,6,13,14,17,18,19],wai:[11,14,17,20],wait:4,walltim:13,want:[12,13,20],warn:10,we:[0,13,16,19],weight:[0,19],welcom:16,well:[4,22],were:[13,17],what:[0,16,17,19],whatev:[17,18],when:[0,4,11,12,13,14,16,17,18,19],whenev:[6,16],where:[3,6,10,11,13,14,17],whether:[6,13,14,17],which:[0,3,6,13,17,18,19],who:[12,13,17,20],whole:[0,19],why:18,wide:[3,14],width:9,wish:13,within:[4,12,13,14,17,18,20],without:[0,3,6,13,16,19,20],work:[4,6,13,17,22],workdir:13,workflow:14,would:17,wrap:4,wrapper:3,write:[0,6,9,13,16,17,19],write_diff_log:8,write_json:13,write_manifest:9,write_metadata:13,wrong:[11,18],www:[0,19],x:13,xml:14,xnat:[0,1,2,3,5,6,19,20,22],xnat_conn:14,xnat_connect:14,xnat_cr:13,xnat_fetch_sess:[17,19],xnat_pass:[17,20,22],xnat_url:13,xnat_us:[17,20,22],xnatarch:17,xnatconnect:13,xnatconvent:17,xnatcredenti:17,xnatexcept:[5,14],xnatexperi:[6,14],xnatlogin:17,xnatobject:14,xnatport:[14,17],xnatscan:14,xnatserv:17,xnatsourc:[17,22],xnatsourcearch:17,xnatsourcecredenti:17,xnatsubject:14,xxx:17,yaml:[3,17],yet:13,yml:[17,20],you:[0,3,12,13,16,17,18,19,20],your:[0,16,17,19,20],yrk:17,z0:12,z:12,zero:13,zip:[11,13,14,17,18,22],zip_fil:11,zip_nam:14,zipfil:[0,13,14,19]},titles:["Introduction","Library API (application program interface)","datman package","datman.config module","datman.dashboard module","datman.exceptions module","datman.exporters module","datman.fs_log_scraper module","datman.header_checks module","datman.metrics module","datman.scan module","datman.scan_list module","datman.scanid module","datman.utils module","datman.xnat module","What\u2019s new?","Contributing to Datman","Configuration Files","Other important files","datman","Installation","<no title>","Script Overview"],titleterms:{"export":6,"import":18,"new":15,api:1,applic:1,blacklist:[17,18],checklist:18,config:3,configur:17,contain:20,contribut:16,control:[0,19],csv:18,dashboard:4,datman:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,16,19],dcm2bid:18,dm_blacklist_rm:22,dm_link:22,dm_link_shared_id:22,dm_parse_fac:22,dm_qc_report:22,dm_redcap_scan_complet:22,dm_sftp:22,dm_task_fil:22,dm_xnat_extract:22,dm_xnat_upload:22,docker:20,exampl:[17,18],except:5,exportinfo:17,exportset:17,extern:18,file:[17,18],fs_log_scrap:7,ftp:17,glossari:17,gold:17,header_check:8,idmap:17,indic:19,instal:20,interfac:1,introduct:[0,19],json:18,librari:1,link:18,log:17,metadata:17,metric:9,modul:[3,4,5,6,7,8,9,10,11,12,13,14],option:17,other:18,overrid:17,overview:[0,19,22],packag:2,path:17,pattern:17,program:1,project:17,qualiti:[0,19],redcap:17,requir:17,s:15,scan:[10,18],scan_list:11,scanid:12,script:22,set:17,site:17,standard:17,studi:17,submodul:2,systemset:17,tabl:19,task:17,util:13,what:15,xnat:[14,17],xnat_fetch_sess:22}}) \ No newline at end of file