-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CRITICAL: 2.x mixes up two-level subjects during averaging phase at first level #348
Comments
This is also experienced with 2.0.6 with this cohort. However, another cohort with group containing letters, i.e 001b instead of 18_5 worked with 2.0.6. |
Another example, the lsq6 average:
|
Can you paste/send me the CSV file input to this pipeline? |
Distressingly, this same cohort with 2 or 3 subjects per timepoint did not demonstrate this problem. |
OK, I've found the problem: the groupby/aggregate here creates a new data frame that doesn't make any sense (the group name is no longer associated with the correct files). I have no explanation for this. Perhaps it's a Pandas bug (e.g., they assume sort=True internally in the aggregate code?) or I've misunderstood the semantics, but it seems like it's only triggered by certain dataframes (I'm assuming ones above a certain size/group size). Will investigate further. |
This is indeed distressing. |
Maybe pandas-dev/pandas#16741 ? |
So it seems like everything is done 'consistently', i.e., the names of your averages are permuted but the transformations are correct:
Issues:
|
So this means the output CSVs are also reliable, but the Montage images are incorrectly located? Or are the labels incorrectly placed in the image? If I have a completed run, can I trust the result? |
Well, of course the averages are also labelled incorrectly, as you've noted -- that's where the montage incorrectness comes from. |
Based on my previous comment I think the output CSVs should be reliable as long as you didn't use the first-level models for anything (they are generated correctly but mislabelled). |
I'm not sure I have a pipeline with this pathology lying around but of course you could check that the resampled images are correctly aligned with the second-level average, indicating that the overall determinants are also correct. To check the resampled determinants the easiest might be to visually compare some determinants in first-level space with the same resampled to the second level to ensure it falls in the correct region of the average (if the wrong transforms had been used to resample you'd expect it not to overlay onto the average correctly). |
Okay, will check that out. |
Sorry for the inconvenience. I will make a small release with a minimum pandas version and 1-2 other small fixes ASAP. |
Cheers, we really appreciate the awesome support! |
FYI: upgrading Pandas doesn't actually fix it. |
Okay, still "unknown" cause. |
Maybe related to this issue :) |
Fixed in master. |
We noticed that the LSQ6 and LSQ12 montages in first level were of the wrong subjects, in the sense that their labels were wrong.
Taking a look at a the history of some files, I find a critical error:
[05] Fri Nov 17 07:46:07 2017>>> mincresample -clobber -2 -sinc -transform \ 20171115_november_first_level/01_3_processed/mch_mom211_001_3_20170314_mri_lsq6/tmp/mch_mom211_001_3_20170314_mri_lsq6_I_lsq6_avg_lsq12-resampled_ANTS_nlin-2.xfm \ -like \ 20171115_november_first_level/18_5_processed/18_5_nlin/18_5-nlin-2.mnc \ 20171115_november_first_level/01_3_processed/mch_mom211_001_3_20170314_mri_lsq6/resampled/mch_mom211_001_3_20170314_mri_lsq6_I_lsq6_avg_lsq12-resampled.mnc \ 20171115_november_first_level/01_3_processed/mch_mom211_001_3_20170314_mri_lsq6/tmp/mch_mom211_001_3_20170314_mri_lsq6_I_lsq6_avg_lsq12-resampled_ANTS_nlin-2-resampled.mnc [06] 2017-11-17 07:53:29 >>> (default history added after pyminc usage) \ /opt/quarantine/minc-stuffs/0.1.20^minc-toolkit-1.9.11/build/bin/pmincaverage \ --clobber \ 20171115_november_first_level/01_3_processed/mch_mom211_001_3_20170314_mri_lsq6/tmp/mch_mom211_001_3_20170314_mri_lsq6_I_lsq6_avg_lsq12-resampled_ANTS_nlin-2-resampled.mnc \ 20171115_november_first_level/01_3_processed/mch_mom211_101_3_20170330_mri_lsq6/tmp/mch_mom211_101_3_20170330_mri_lsq6_I_lsq6_avg_lsq12-resampled_ANTS_nlin-2-resampled.mnc \ 20171115_november_first_level/01_3_processed/mch_mom211_201_3_20170421_mri_lsq6/tmp/mch_mom211_201_3_20170421_mri_lsq6_I_lsq6_avg_lsq12-resampled_ANTS_nlin-2-resampled.mnc \ 20171115_november_first_level/01_3_processed/mch_mom211_301_3_20170525_mri_lsq6/tmp/mch_mom211_301_3_20170525_mri_lsq6_I_lsq6_avg_lsq12-resampled_ANTS_nlin-2-resampled.mnc \ 20171115_november_first_level/18_5_processed/18_5_nlin/18_5-nlin-3.mnc
^^^ Subject 01_3 files were averaged into 18_5's final nlin!
The text was updated successfully, but these errors were encountered: