Bananaboy99
Bananaboy99

Reputation: 251

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?

Upvotes: 24

Views: 243782

Answers (3)

NSVR
NSVR

Reputation: 302

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.

Upvotes: 13

mosess
mosess

Reputation: 1163

data.reshape((50,1104,-1))

works for me

Upvotes: 9

Miriam Farber
Miriam Farber

Reputation: 19634

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.

Upvotes: 26

Related Questions