@@ -35,7 +35,8 @@ def DoHarmonization(self):
3535
3636 covars = self .datamodel .data [['SITE' ,'Age' ,'Sex' ,'DLICV_baseline' ]].reset_index (drop = True ).copy ()
3737 covars .loc [:,'Sex' ] = covars ['Sex' ].map ({'M' :1 ,'F' :0 })
38- covars .loc [covars .Age > 100 , 'Age' ]= 100
38+ covars .loc [covars .Age > 102 , 'Age' ]= 102
39+ covars .loc [covars .Age < 20 , 'Age' ]= 20
3940
4041 # Parameter table for plotting
4142 gamma_ROIs = ['gamma_' + x for x in self .datamodel .harmonization_model ['ROIs' ]]
@@ -73,9 +74,11 @@ def DoHarmonization(self):
7374 model_delta = pd .DataFrame (self .datamodel .harmonization_model ['delta_star' ],columns = delta_ROIs ,index = [x for x in self .datamodel .harmonization_model ['SITE_labels' ]])
7475 parameters = pd .concat ([model_gamma ,model_delta ],axis = 1 ).sort_index ()
7576 else :
76- oos_data = self .datamodel .data [self .datamodel .data ['SITE' ].isin (sites_to_harmonize )].dropna (subset = covariates )[[x for x in self .datamodel .harmonization_model ['ROIs' ]]].values
77- oos_covars = self .datamodel .data [self .datamodel .data . SITE .isin (sites_to_harmonize )].dropna (subset = covariates )[covariates ]
77+ oos_data = self .datamodel .data [( self .datamodel .data ['SITE' ].isin (sites_to_harmonize )) & ( self . datamodel . data [ 'UseForComBatGAMHarmonization' ]. notnull () )].dropna (subset = covariates )[[x for x in self .datamodel .harmonization_model ['ROIs' ]]].values
78+ oos_covars = self .datamodel .data [( self .datamodel .data [ ' SITE' ] .isin (sites_to_harmonize )) & ( self . datamodel . data [ 'UseForComBatGAMHarmonization' ]. notnull () )].dropna (subset = covariates )[covariates ]
7879 oos_covars .loc [:,'Sex' ] = oos_covars ['Sex' ].map ({'M' :1 ,'F' :0 })
80+ oos_covars .loc [oos_covars .Age > 102 , 'Age' ]= 102
81+ oos_covars .loc [oos_covars .Age < 20 , 'Age' ]= 20
7982 self .model , _ = nh .harmonizationLearn (oos_data , oos_covars ,
8083 smooth_terms = ['Age' ],
8184 smooth_term_bounds = (np .floor (np .min (self .datamodel .data .Age )),np .ceil (np .max (self .datamodel .data .Age ))),
@@ -122,7 +125,7 @@ def DoHarmonization(self):
122125 MUSEDictDataFrame = self .datamodel .GetMUSEDictDataFrame ()
123126 muse_mappings = self .datamodel .GetDerivedMUSEMap ()
124127 for ROI in MUSEDictDataFrame [MUSEDictDataFrame ['ROI_LEVEL' ]== 'DERIVED' ]['ROI_INDEX' ]:
125- single_ROIs = muse_mappings .loc [ROI ].replace ('NaN' ,np .nan ).dropna ().astype (np .float )
128+ single_ROIs = muse_mappings .loc [ROI ].replace ('NaN' ,np .nan ).dropna ().astype (np .float64 )
126129 single_ROIs = ['H_MUSE_Volume_%0d' % x for x in single_ROIs ]
127130 muse ['H_MUSE_Volume_%d' % ROI ] = muse [single_ROIs ].sum (axis = 1 ,skipna = False )
128131 muse .drop (columns = ['H_MUSE_Volume_702' ], inplace = True )
0 commit comments