| 
					
				 | 
			
			
				@@ -1,73 +1,96 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# pylint: disable=missing-module-docstring 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import os 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import re 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import pandas 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import pytest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-from freesurfer_volume_reader.ashs import IntracranialVolumeFile, HippocampalSubfieldsVolumeFile 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from freesurfer_volume_reader.ashs import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    IntracranialVolumeFile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    HippocampalSubfieldsVolumeFile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from conftest import SUBJECTS_DIR, assert_volume_frames_equal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@pytest.mark.parametrize(('volume_file_path', 'expected_subject'), [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ('bert_icv.txt', 'bert'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ('final/bert_icv.txt', 'bert'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ('ashs/subjects/bert/final/bert_icv.txt', 'bert'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ('ashs/subjects/alice/final/long_subject_name_42_icv.txt', 'long_subject_name_42'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@pytest.mark.parametrize( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ("volume_file_path", "expected_subject"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ("bert_icv.txt", "bert"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ("final/bert_icv.txt", "bert"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ("ashs/subjects/bert/final/bert_icv.txt", "bert"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ashs/subjects/alice/final/long_subject_name_42_icv.txt", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "long_subject_name_42", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def test_intracranial_volume_file_init(volume_file_path, expected_subject): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     volume_file = IntracranialVolumeFile(path=volume_file_path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     assert os.path.abspath(volume_file_path) == volume_file.absolute_path 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     assert expected_subject == volume_file.subject 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@pytest.mark.parametrize('volume_file_path', [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    '_icv.txt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    'bert_ICV.txt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    'bert_icv.csv', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    'bert_ICV.txt.zip', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@pytest.mark.parametrize( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    "volume_file_path", ["_icv.txt", "bert_ICV.txt", "bert_icv.csv", "bert_ICV.txt.zip"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def test_intracranial_volume_file_init_invalid_filename(volume_file_path): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     with pytest.raises(Exception): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         IntracranialVolumeFile(path=volume_file_path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@pytest.mark.parametrize(('volume_file_path', 'expected_volume'), [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_icv.txt'), 1234560), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_icv.txt'), 1.23456e06), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_icv.txt'), 1.23456e+06), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_icv.txt'), float('1.23456e+06')), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (os.path.join(SUBJECTS_DIR, 'alice', 'final', 'alice_icv.txt'), 1543200), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@pytest.mark.parametrize( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ("volume_file_path", "expected_volume"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        (os.path.join(SUBJECTS_DIR, "bert", "final", "bert_icv.txt"), 1234560), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        (os.path.join(SUBJECTS_DIR, "bert", "final", "bert_icv.txt"), 1.23456e06), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        (os.path.join(SUBJECTS_DIR, "bert", "final", "bert_icv.txt"), 1.23456e06), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            os.path.join(SUBJECTS_DIR, "bert", "final", "bert_icv.txt"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            float("1.23456e+06"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        (os.path.join(SUBJECTS_DIR, "alice", "final", "alice_icv.txt"), 1543200), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def test_intracranial_volume_file_read_volume_mm3(volume_file_path, expected_volume): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     volume_file = IntracranialVolumeFile(path=volume_file_path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     assert expected_volume == pytest.approx(volume_file.read_volume_mm3()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@pytest.mark.parametrize('volume_file_path', [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    os.path.join(SUBJECTS_DIR, 'noone', 'final', 'noone_icv.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@pytest.mark.parametrize( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    "volume_file_path", [os.path.join(SUBJECTS_DIR, "noone", "final", "noone_icv.txt")] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def test_intracranial_volume_file_read_volume_mm3_not_found(volume_file_path): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     volume_file = IntracranialVolumeFile(path=volume_file_path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     with pytest.raises(FileNotFoundError): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         volume_file.read_volume_mm3() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@pytest.mark.parametrize(('volume_file_path', 'expected_series'), [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_icv.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     pandas.Series( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         data=[1234560.0], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         name='intercranial_volume_mm^3', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         index=pandas.Index(data=['bert'], name='subject'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     )), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (os.path.join(SUBJECTS_DIR, 'alice', 'final', 'alice_icv.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     pandas.Series( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         data=[1543200.0], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         name='intercranial_volume_mm^3', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         index=pandas.Index(data=['alice'], name='subject'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     )), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-def test_intracranial_volume_file_read_volume_series_single(volume_file_path, expected_series): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@pytest.mark.parametrize( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ("volume_file_path", "expected_series"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            os.path.join(SUBJECTS_DIR, "bert", "final", "bert_icv.txt"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pandas.Series( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                data=[1234560.0], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                name="intercranial_volume_mm^3", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                index=pandas.Index(data=["bert"], name="subject"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            os.path.join(SUBJECTS_DIR, "alice", "final", "alice_icv.txt"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pandas.Series( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                data=[1543200.0], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                name="intercranial_volume_mm^3", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                index=pandas.Index(data=["alice"], name="subject"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def test_intracranial_volume_file_read_volume_series_single( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    volume_file_path, expected_series 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     volume_file = IntracranialVolumeFile(path=volume_file_path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     pandas.testing.assert_series_equal( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         left=expected_series, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -77,94 +100,144 @@ def test_intracranial_volume_file_read_volume_series_single(volume_file_path, ex 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@pytest.mark.parametrize(('volume_file_paths', 'expected_series'), [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ([os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_icv.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      os.path.join(SUBJECTS_DIR, 'alice', 'final', 'alice_icv.txt')], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     pandas.Series( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         data=[1234560.0, 1543200.0], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         name='intercranial_volume_mm^3', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         index=pandas.Index(data=['bert', 'alice'], name='subject'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     )), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-def test_intracranial_volume_file_read_volume_series_concat(volume_file_paths, expected_series): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@pytest.mark.parametrize( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ("volume_file_paths", "expected_series"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join(SUBJECTS_DIR, "bert", "final", "bert_icv.txt"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join(SUBJECTS_DIR, "alice", "final", "alice_icv.txt"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pandas.Series( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                data=[1234560.0, 1543200.0], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                name="intercranial_volume_mm^3", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                index=pandas.Index(data=["bert", "alice"], name="subject"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def test_intracranial_volume_file_read_volume_series_concat( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    volume_file_paths, expected_series 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     volume_series = pandas.concat( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        IntracranialVolumeFile(path=p).read_volume_series() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for p in volume_file_paths) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        IntracranialVolumeFile(path=p).read_volume_series() for p in volume_file_paths 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     pandas.testing.assert_series_equal( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        left=expected_series, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        right=volume_series, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        check_dtype=True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        check_names=True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        left=expected_series, right=volume_series, check_dtype=True, check_names=True 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@pytest.mark.parametrize('volume_file_path', [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    os.path.join(SUBJECTS_DIR, 'bert', 'final', 'BERT_icv.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@pytest.mark.parametrize( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    "volume_file_path", [os.path.join(SUBJECTS_DIR, "bert", "final", "BERT_icv.txt")] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def test_intracranial_volume_file_read_volume_series_not_found(volume_file_path): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     volume_file = IntracranialVolumeFile(path=volume_file_path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     with pytest.raises(FileNotFoundError): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         volume_file.read_volume_series() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@pytest.mark.parametrize(('root_dir_path', 'expected_file_paths'), [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (os.path.join(SUBJECTS_DIR, 'bert'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_icv.txt')}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (os.path.join(SUBJECTS_DIR, 'alice'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {os.path.join(SUBJECTS_DIR, 'alice', 'final', 'alice_icv.txt')}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (SUBJECTS_DIR, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {os.path.join(SUBJECTS_DIR, 'alice', 'final', 'alice_icv.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_icv.txt')}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@pytest.mark.parametrize( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ("root_dir_path", "expected_file_paths"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            os.path.join(SUBJECTS_DIR, "bert"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {os.path.join(SUBJECTS_DIR, "bert", "final", "bert_icv.txt")}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            os.path.join(SUBJECTS_DIR, "alice"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {os.path.join(SUBJECTS_DIR, "alice", "final", "alice_icv.txt")}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SUBJECTS_DIR, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join(SUBJECTS_DIR, "alice", "final", "alice_icv.txt"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join(SUBJECTS_DIR, "bert", "final", "bert_icv.txt"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def test_intracranial_volume_file_find(root_dir_path, expected_file_paths): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    volume_files_iterator = IntracranialVolumeFile.find( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        root_dir_path=root_dir_path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    assert expected_file_paths == set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        f.absolute_path for f in volume_files_iterator) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@pytest.mark.parametrize(('root_dir_path', 'filename_pattern', 'expected_file_paths'), [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (SUBJECTS_DIR, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     r'^\w{4,6}_icv.txt$', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {os.path.join(SUBJECTS_DIR, 'alice', 'final', 'alice_icv.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_icv.txt')}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (SUBJECTS_DIR, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     r'^\w{5,6}_icv.txt$', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {os.path.join(SUBJECTS_DIR, 'alice', 'final', 'alice_icv.txt')}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (SUBJECTS_DIR, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     r'^\w{7,}_icv.txt$', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     set()), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    volume_files_iterator = IntracranialVolumeFile.find(root_dir_path=root_dir_path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    assert expected_file_paths == set(f.absolute_path for f in volume_files_iterator) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@pytest.mark.parametrize( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ("root_dir_path", "filename_pattern", "expected_file_paths"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SUBJECTS_DIR, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            r"^\w{4,6}_icv.txt$", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join(SUBJECTS_DIR, "alice", "final", "alice_icv.txt"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join(SUBJECTS_DIR, "bert", "final", "bert_icv.txt"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SUBJECTS_DIR, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            r"^\w{5,6}_icv.txt$", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {os.path.join(SUBJECTS_DIR, "alice", "final", "alice_icv.txt")}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        (SUBJECTS_DIR, r"^\w{7,}_icv.txt$", set()), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def test_intracranial_volume_file_find_pattern( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        root_dir_path, filename_pattern, expected_file_paths): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    root_dir_path, filename_pattern, expected_file_paths 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     volume_files_iterator = IntracranialVolumeFile.find( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        root_dir_path=root_dir_path, filename_regex=re.compile(filename_pattern)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    assert expected_file_paths == set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        f.absolute_path for f in volume_files_iterator) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@pytest.mark.parametrize(('volume_file_path', 'expected_attrs'), [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ('ashs/final/bert_left_heur_volumes.txt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {'subject': 'bert', 'hemisphere': 'left', 'correction': None}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ('ashs/final/bert_left_corr_nogray_volumes.txt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {'subject': 'bert', 'hemisphere': 'left', 'correction': 'nogray'}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ('ashs/final/bert_left_corr_usegray_volumes.txt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {'subject': 'bert', 'hemisphere': 'left', 'correction': 'usegray'}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ('ashs/final/bert_right_heur_volumes.txt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {'subject': 'bert', 'hemisphere': 'right', 'correction': None}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ('ashs/final/bert_right_corr_nogray_volumes.txt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {'subject': 'bert', 'hemisphere': 'right', 'correction': 'nogray'}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ('ashs/final/bert_right_corr_usegray_volumes.txt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {'subject': 'bert', 'hemisphere': 'right', 'correction': 'usegray'}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ('somewhere/else/bert_right_heur_volumes.txt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {'subject': 'bert', 'hemisphere': 'right', 'correction': None}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ('somewhere/else/bert_right_corr_nogray_volumes.txt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {'subject': 'bert', 'hemisphere': 'right', 'correction': 'nogray'}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ('bert_right_heur_volumes.txt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {'subject': 'bert', 'hemisphere': 'right', 'correction': None}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ('/foo/bar/alice_20190503_right_corr_nogray_volumes.txt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {'subject': 'alice_20190503', 'hemisphere': 'right', 'correction': 'nogray'}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        root_dir_path=root_dir_path, filename_regex=re.compile(filename_pattern) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    assert expected_file_paths == set(f.absolute_path for f in volume_files_iterator) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@pytest.mark.parametrize( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ("volume_file_path", "expected_attrs"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ashs/final/bert_left_heur_volumes.txt", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {"subject": "bert", "hemisphere": "left", "correction": None}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ashs/final/bert_left_corr_nogray_volumes.txt", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {"subject": "bert", "hemisphere": "left", "correction": "nogray"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ashs/final/bert_left_corr_usegray_volumes.txt", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {"subject": "bert", "hemisphere": "left", "correction": "usegray"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ashs/final/bert_right_heur_volumes.txt", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {"subject": "bert", "hemisphere": "right", "correction": None}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ashs/final/bert_right_corr_nogray_volumes.txt", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {"subject": "bert", "hemisphere": "right", "correction": "nogray"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ashs/final/bert_right_corr_usegray_volumes.txt", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {"subject": "bert", "hemisphere": "right", "correction": "usegray"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "somewhere/else/bert_right_heur_volumes.txt", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {"subject": "bert", "hemisphere": "right", "correction": None}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "somewhere/else/bert_right_corr_nogray_volumes.txt", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {"subject": "bert", "hemisphere": "right", "correction": "nogray"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "bert_right_heur_volumes.txt", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {"subject": "bert", "hemisphere": "right", "correction": None}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "/foo/bar/alice_20190503_right_corr_nogray_volumes.txt", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "subject": "alice_20190503", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "hemisphere": "right", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "correction": "nogray", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def test_hippocampal_subfields_volume_file_init(volume_file_path, expected_attrs): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     volume_file = HippocampalSubfieldsVolumeFile(path=volume_file_path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     assert os.path.abspath(volume_file_path) == volume_file.absolute_path 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -172,97 +245,196 @@ def test_hippocampal_subfields_volume_file_init(volume_file_path, expected_attrs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         assert value == getattr(volume_file, attr) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@pytest.mark.parametrize('volume_file_path', [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    'bert_middle_heur_volumes.txt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    'bert_right_hear_volumes.txt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    'bert_right_heur_volumes.nii', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    'bert_left_lfseg_corr_usegray.nii.gz', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@pytest.mark.parametrize( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    "volume_file_path", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "bert_middle_heur_volumes.txt", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "bert_right_hear_volumes.txt", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "bert_right_heur_volumes.nii", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "bert_left_lfseg_corr_usegray.nii.gz", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def test_hippocampal_subfields_volume_file_init_invalid(volume_file_path): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     with pytest.raises(Exception): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         HippocampalSubfieldsVolumeFile(path=volume_file_path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@pytest.mark.parametrize(('volume_file_path', 'expected_volumes'), [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_left_corr_nogray_volumes.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {'CA1': 678.901, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      'CA2+3': 123.456, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      'DG': 901.234, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      'ERC': 789.012, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      'PHC': 2345.876, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      'PRC': 2345.678, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      'SUB': 457.789}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-def test_hippocampal_subfields_volume_file_read_volumes_mm3(volume_file_path, expected_volumes): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@pytest.mark.parametrize( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ("volume_file_path", "expected_volumes"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                SUBJECTS_DIR, "bert", "final", "bert_left_corr_nogray_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "CA1": 678.901, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "CA2+3": 123.456, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "DG": 901.234, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "ERC": 789.012, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "PHC": 2345.876, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "PRC": 2345.678, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "SUB": 457.789, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def test_hippocampal_subfields_volume_file_read_volumes_mm3( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    volume_file_path, expected_volumes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     volume_file = HippocampalSubfieldsVolumeFile(path=volume_file_path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     assert expected_volumes == volume_file.read_volumes_mm3() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def test_hippocampal_subfields_volume_file_read_volumes_mm3_not_found(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     volume_file = HippocampalSubfieldsVolumeFile( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        path=os.path.join(SUBJECTS_DIR, 'nobert', 'final', 'bert_left_corr_nogray_volumes.txt')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        path=os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SUBJECTS_DIR, "nobert", "final", "bert_left_corr_nogray_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     with pytest.raises(FileNotFoundError): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         volume_file.read_volumes_mm3() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@pytest.mark.parametrize(('volume_file_path', 'expected_dataframe'), [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (os.path.join(SUBJECTS_DIR, 'alice', 'final', 'alice_left_heur_volumes.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     pandas.DataFrame({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         'subfield': ['CA1', 'CA2+3', 'DG', 'ERC', 'PHC', 'PRC', 'SUB'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         'volume_mm^3': [679.904, 124.459, 902.237, 789.012, 2346.879, 2346.671, 458.782], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         'subject': 'alice', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         'hemisphere': 'left', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         'correction': None, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     })), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@pytest.mark.parametrize( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ("volume_file_path", "expected_dataframe"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            os.path.join(SUBJECTS_DIR, "alice", "final", "alice_left_heur_volumes.txt"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pandas.DataFrame( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "subfield": ["CA1", "CA2+3", "DG", "ERC", "PHC", "PRC", "SUB"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "volume_mm^3": [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        679.904, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        124.459, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        902.237, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        789.012, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        2346.879, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        2346.671, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        458.782, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "subject": "alice", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "hemisphere": "left", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "correction": None, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def test_hippocampal_subfields_volume_file_read_volumes_dataframe( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        volume_file_path: str, expected_dataframe: pandas.DataFrame): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    volume_file_path: str, expected_dataframe: pandas.DataFrame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     volume_file = HippocampalSubfieldsVolumeFile(path=volume_file_path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    assert_volume_frames_equal(left=expected_dataframe, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                               right=volume_file.read_volumes_dataframe()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    assert_volume_frames_equal( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        left=expected_dataframe, right=volume_file.read_volumes_dataframe() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def test_hippocampal_subfields_volume_file_read_volumes_dataframe_not_found(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     volume_file = HippocampalSubfieldsVolumeFile( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        path=os.path.join(SUBJECTS_DIR, 'nobert', 'final', 'bert_left_corr_nogray_volumes.txt')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        path=os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SUBJECTS_DIR, "nobert", "final", "bert_left_corr_nogray_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     with pytest.raises(FileNotFoundError): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         volume_file.read_volumes_dataframe() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@pytest.mark.parametrize(('root_dir_path', 'expected_file_paths'), [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (os.path.join(SUBJECTS_DIR, 'alice'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {os.path.join(SUBJECTS_DIR, 'alice', 'final', 'alice_left_heur_volumes.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      os.path.join(SUBJECTS_DIR, 'alice', 'final', 'alice_left_corr_nogray_volumes.txt')}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (os.path.join(SUBJECTS_DIR, 'bert'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_left_corr_nogray_volumes.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_left_corr_usegray_volumes.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_left_heur_volumes.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_right_corr_nogray_volumes.txt')}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (SUBJECTS_DIR, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {os.path.join(SUBJECTS_DIR, 'alice', 'final', 'alice_left_heur_volumes.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      os.path.join(SUBJECTS_DIR, 'alice', 'final', 'alice_left_corr_nogray_volumes.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_left_corr_nogray_volumes.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_left_corr_usegray_volumes.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_left_heur_volumes.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_right_corr_nogray_volumes.txt')}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@pytest.mark.parametrize( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ("root_dir_path", "expected_file_paths"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            os.path.join(SUBJECTS_DIR, "alice"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SUBJECTS_DIR, "alice", "final", "alice_left_heur_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SUBJECTS_DIR, "alice", "final", "alice_left_corr_nogray_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            os.path.join(SUBJECTS_DIR, "bert"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SUBJECTS_DIR, "bert", "final", "bert_left_corr_nogray_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SUBJECTS_DIR, "bert", "final", "bert_left_corr_usegray_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SUBJECTS_DIR, "bert", "final", "bert_left_heur_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SUBJECTS_DIR, "bert", "final", "bert_right_corr_nogray_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SUBJECTS_DIR, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SUBJECTS_DIR, "alice", "final", "alice_left_heur_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SUBJECTS_DIR, "alice", "final", "alice_left_corr_nogray_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SUBJECTS_DIR, "bert", "final", "bert_left_corr_nogray_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SUBJECTS_DIR, "bert", "final", "bert_left_corr_usegray_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SUBJECTS_DIR, "bert", "final", "bert_left_heur_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SUBJECTS_DIR, "bert", "final", "bert_right_corr_nogray_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def test_hippocampal_subfields_volume_file_find(root_dir_path, expected_file_paths): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    volume_files_iterator = HippocampalSubfieldsVolumeFile.find(root_dir_path=root_dir_path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    volume_files_iterator = HippocampalSubfieldsVolumeFile.find( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        root_dir_path=root_dir_path 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     assert expected_file_paths == set(f.absolute_path for f in volume_files_iterator) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@pytest.mark.parametrize(('root_dir_path', 'filename_pattern', 'expected_file_paths'), [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (SUBJECTS_DIR, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     r'^bert_right_', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_right_corr_nogray_volumes.txt')}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (SUBJECTS_DIR, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     r'_nogray_volumes.txt$', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     {os.path.join(SUBJECTS_DIR, 'alice', 'final', 'alice_left_corr_nogray_volumes.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_left_corr_nogray_volumes.txt'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      os.path.join(SUBJECTS_DIR, 'bert', 'final', 'bert_right_corr_nogray_volumes.txt')}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-def test_hippocampal_subfields_volume_file_find_pattern(root_dir_path, filename_pattern, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                        expected_file_paths): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@pytest.mark.parametrize( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ("root_dir_path", "filename_pattern", "expected_file_paths"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SUBJECTS_DIR, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            r"^bert_right_", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SUBJECTS_DIR, "bert", "final", "bert_right_corr_nogray_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SUBJECTS_DIR, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            r"_nogray_volumes.txt$", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SUBJECTS_DIR, "alice", "final", "alice_left_corr_nogray_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SUBJECTS_DIR, "bert", "final", "bert_left_corr_nogray_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                os.path.join( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SUBJECTS_DIR, "bert", "final", "bert_right_corr_nogray_volumes.txt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def test_hippocampal_subfields_volume_file_find_pattern( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    root_dir_path, filename_pattern, expected_file_paths 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     volume_files_iterator = HippocampalSubfieldsVolumeFile.find( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        root_dir_path=root_dir_path, filename_regex=re.compile(filename_pattern)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        root_dir_path=root_dir_path, filename_regex=re.compile(filename_pattern) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     assert expected_file_paths == set(f.absolute_path for f in volume_files_iterator) 
			 |