-
Notifications
You must be signed in to change notification settings - Fork 24
Description
Hi,
I have a problem in my code, where I am attempting to analyse multishell diffusion data using different models. It seems everything is loading properly until...
[2023-04-27 14:24:24,341] [INFO] [mdt.lib.processing.model_fitting] [get_model_fit] - Starting intermediate optimization for generating initialization point.
[2023-04-27 14:24:24,454] [INFO] [mdt.lib.processing.model_fitting] [fit_composite_model] - Using MDT version 1.2.7
[2023-04-27 14:24:24,454] [INFO] [mdt.lib.processing.model_fitting] [fit_composite_model] - Preparing for model BallStick_r1
[2023-04-27 14:24:24,506] [INFO] [mdt.models.composite] [_prepare_input_data] - No volume options to apply, using all 43 volumes.
[2023-04-27 14:24:24,506] [INFO] [mdt.lib.processing.model_fitting] [_model_fit_logging] - Fitting BallStick_r1 model
[2023-04-27 14:24:24,506] [INFO] [mdt.lib.processing.model_fitting] [_model_fit_logging] - The 4 parameters we will fit are: ['S0.s0', 'w_stick0.w', 'Stick0.theta', 'Stick0.phi']
[2023-04-27 14:24:24,506] [INFO] [mdt.lib.processing.model_fitting] [fit_composite_model] - Saving temporary results in F:\ihMT_ExVivo\20230416_A2BrainPiece_Diffusion\ECMOCO_HYSCO\output\Tensor_ExVivo\Multishell_b1k\BallStick_r1\tmp_results.
[2023-04-27 14:24:24,634] [INFO] [mdt.lib.processing.processing_strategies] [_process_chunk] - Computations are at 0.00%, processing next 81584 voxels (81584 voxels in total, 0 processed). Time spent: 0:00:00:00, time left: ? (d:h:m:s).
[2023-04-27 14:24:24,634] [INFO] [mdt.lib.processing.model_fitting] [_process] - Starting optimization
[2023-04-27 14:24:24,638] [INFO] [mdt.lib.processing.model_fitting] [_process] - Using MOT version 0.11.4
[2023-04-27 14:24:24,638] [INFO] [mdt.lib.processing.model_fitting] [_process] - We will use a single precision float type for the calculations.
[2023-04-27 14:24:24,638] [INFO] [mdt.lib.processing.model_fitting] [_process] - Using device 'GPU - Intel(R) HD Graphics 520 (Intel(R) OpenCL HD Graphics)'.
[2023-04-27 14:24:24,638] [INFO] [mdt.lib.processing.model_fitting] [_process] - Using compile flags: ('-cl-denorms-are-zero', '-cl-mad-enable', '-cl-no-signed-zeros')
[2023-04-27 14:24:24,638] [INFO] [mdt.lib.processing.model_fitting] [_process] - We will use the optimizer Powell with optimizer settings {'patience': 10}
InvalidArraySize: Array size must be at least 1: [0 x i8] [Src: d:\qb\workspace\22235\source\llvm_source\projects\llvm-spirv\lib\spirv\spirvwriter.cpp:331 T->getArrayNumElements() >= 1 ]
Process finished with exit code -1073740791 (0xC0000409)
I have two questions: (1) I am starting to use Tensor, so why it is using BallSitck_r1 model first? Is it a way to avoid this fitting and jump directly to Tensor (and other models). and (2) is this a way to debug it and see maybe where this error comes from? As far as I could observe, the main problem appears in line 371 of model_fitting.py (in the codec.encode function).
(370) kernel_data_subset = self._kernel_data.get_subset(roi_indices)
(371) x0 = self._codec.encode(self._initial_params[roi_indices], kernel_data_subset)
Thanks,
Frank