Open jankrepl opened 2 years ago
I just tested reproducibility of nissl_to_ccfv3.py
using this commit https://github.com/BlueBrain/Deep-Atlas/tree/6f6e44ac3c077f5372e442b75b2b0efad25d91af
If one does not provide any environment variables, the results are different. However, if one provides the following 2 environment variables the results are reproducible:
export ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS=1
export ANTS_RANDOM_SEED=1
However, one considerable downside of using just 1 thread is the execution time
2022-05-24 15:47:09,779 - INFO - nissl-to-ccfv3 - Loading volumes
2022-05-24 15:47:10,803 - INFO - nissl-to-ccfv3 - Start registration...
2022-05-24 15:47:10,803 - INFO - nissl-to-ccfv3 - Compute the registration...
2022-05-24 15:53:36,948 - INFO - nissl-to-ccfv3 - Apply transformation to Moving Volume...
2022-05-24 16:01:11,549 - INFO - nissl-to-ccfv3 - Apply transformation to Nissl Volume...
2022-05-24 16:01:39,928 - INFO - nissl-to-ccfv3 - Saving results...
It takes approximately 15 minutes which is 3 times slower than when we don't restrict the number of threads.
Specifically, the stages that use
antspy
will probably need an environment variable to be set