QTIM-Lab/DeepNeuro

ValueError: could not broadcast input array from shape (64,64,8,2) into shape (64,64,8,3)

Closed this issue · 3 comments

Hello,

Right now I am running Segment_GBM and I got an error in last prediction step.

('Predicting patch set', '1/3...')
('Predicting patch set', '2/3...')
('Predicting patch set', '3/3...')
Traceback (most recent call last):
  File "C:/Users/krasona/PycharmProjects/GlioblastomaSegmentation/GlioblastomaSegmentationMain.py", line 49, in <module>
    quiet=True)
  File "C:\Users\krasona\PycharmProjects\GlioblastomaSegmentation\venv\lib\site-packages\deepneuro\pipelines\Segment_GBM\predict.py", line 123, in predict_GBM
    wholetumor_file = wholetumor_model.generate_outputs(data_collection, output_folder)[0]['filenames'][-1]
  File "C:\Users\krasona\PycharmProjects\GlioblastomaSegmentation\venv\lib\site-packages\deepneuro\models\model.py", line 163, in generate_outputs
    return_outputs += [output.generate()]
  File "C:\Users\krasona\PycharmProjects\GlioblastomaSegmentation\venv\lib\site-packages\deepneuro\outputs\output.py", line 131, in generate
    return self.generate_individual_case(self.case)
  File "C:\Users\krasona\PycharmProjects\GlioblastomaSegmentation\venv\lib\site-packages\deepneuro\outputs\output.py", line 154, in generate_individual_case
    self.process_case(input_data)
  File "C:\Users\krasona\PycharmProjects\GlioblastomaSegmentation\venv\lib\site-packages\deepneuro\outputs\segmentation.py", line 106, in process_case
    output_data = self.predict(input_data)
  File "C:\Users\krasona\PycharmProjects\GlioblastomaSegmentation\venv\lib\site-packages\deepneuro\outputs\segmentation.py", line 174, in predict
    input_patches = self.grab_patch(input_data, corner_batch)
  File "C:\Users\krasona\PycharmProjects\GlioblastomaSegmentation\venv\lib\site-packages\deepneuro\outputs\segmentation.py", line 245, in grab_patch
    output_patches[corner_idx, ...] = input_data[tuple(output_slice)]
ValueError: could not broadcast input array from shape (64,64,8,2) into shape (64,64,8,3)

> ('Starting New Case...',)
> ('Whole Tumor Prediction',)
> ('======================',)
> ('Working on image.. ', 'C:\\Users\\krasona\\PycharmProjects\\GlioblastomaSegmentation\\output5')
> ('Working on Preprocessor:', 'Conversion')
> ('Working on Preprocessor:', 'N4BiasCorrection')
> ('Working on Preprocessor:', 'Registration')
> ('Working on Preprocessor:', 'ZeroMeanNormalization')
> ('Predicting patch set', '1/3...')
> ('Predicting patch set', '2/3...')
> ('Predicting patch set', '3/3...')
> ('Working on Preprocessor:', 'SkullStrip_Model')
> ('Working on Preprocessor:', 'ZeroMeanNormalization')
> ('Predicting patch set', '1/6...')
> Traceback (most recent call last):
>   File "C:/Users/krasona/PycharmProjects/GlioblastomaSegmentation/GlioblastomaSegmentationMain.py", line 52, in <module>
>     quiet=False)
>   File "C:\Users\krasona\PycharmProjects\GlioblastomaSegmentation\venv\lib\site-packages\deepneuro\pipelines\Segment_GBM\predict.py", line 123, in predict_GBM
>     wholetumor_file = wholetumor_model.generate_outputs(data_collection, output_folder)[0]['filenames'][-1]
>   File "C:\Users\krasona\PycharmProjects\GlioblastomaSegmentation\venv\lib\site-packages\deepneuro\models\model.py", line 163, in generate_outputs
>     return_outputs += [output.generate()]
>   File "C:\Users\krasona\PycharmProjects\GlioblastomaSegmentation\venv\lib\site-packages\deepneuro\outputs\output.py", line 131, in generate
>     return self.generate_individual_case(self.case)
>   File "C:\Users\krasona\PycharmProjects\GlioblastomaSegmentation\venv\lib\site-packages\deepneuro\outputs\output.py", line 154, in generate_individual_case
>     self.process_case(input_data)
>   File "C:\Users\krasona\PycharmProjects\GlioblastomaSegmentation\venv\lib\site-packages\deepneuro\outputs\segmentation.py", line 107, in process_case
>     output_data = self.predict(input_data)
>   File "C:\Users\krasona\PycharmProjects\GlioblastomaSegmentation\venv\lib\site-packages\deepneuro\outputs\segmentation.py", line 175, in predict
>     input_patches = self.grab_patch(input_data, corner_batch)
>   File "C:\Users\krasona\PycharmProjects\GlioblastomaSegmentation\venv\lib\site-packages\deepneuro\outputs\segmentation.py", line 246, in grab_patch
>     output_patches[corner_idx, ...] = input_data[tuple(output_slice)]
> ValueError: could not broadcast input array from shape (64,64,8,2) into shape (64,64,8,3)

Could anyone help me with this issue ?

I would be appreciate.

Hi,
I guess there is a bug in the code. change the following in the 'predict.py':' wholetumor_prediction_parameters = {'output_directory': output_folder,
'output_filename': output_wholetumor_filename,
'batch_size': 50,
'patch_overlaps': 6,
'output_patch_shape': (56, 56, 6, 1),
'input_channels': [0, 1],
'case_in_filename': False,
'verbose': verbose}
'
input_channels from [0,1] to [0,1,2]

Then it will work