ValueError: cannot reshape array of size 30470400 into shape (50,1104,104)
I am trying to run threw this Tutorial http://emmanuelle.github.io/segmentation-of-3-d-tomography-images-with-python-and-scikit-image.html
where I want to do a Segmentation of 3-D tomography images with Python.
I'm struggling directly in the beginning, with reshaping the image.
This is the code:
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import time as time
data = np.fromfile('/data/data_l67/dalladas/Python3/Daten/Al8Cu_1000_g13_t4_200_250.vol', dtype=np.float32)
data.shape
(60940800,)
data.reshape((50,1104,104))
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) in () ----> 1 data.reshape((50,1104,104))
ValueError: cannot reshape array of size 30470400 into shape (50,1104,104)
Can somebody help me out?
Solution 1:
It seems that there is a typo, since 1104*1104*50=60940800
and you are trying to reshape to dimensions 50,1104,104
. So it seems that you need to change 104 to 1104.
Solution 2:
In Matrix terms, the number of elements always has to equal the product of the number of rows and columns. In this particular case, the condition is not matching.
Solution 3:
data.reshape((50,1104,-1))
works for me