stefanloock / pyshearlab

pyShearLab is a Python toolbox which is based on ShearLab3D written by Rafael Reisenhofer and has been ported to Python by Stefan Loock.
GNU General Public License v3.0
49 stars 15 forks source link

relatively small size images can't create shearlets #8

Open dsweber2 opened 5 years ago

dsweber2 commented 5 years ago

Running the command pyshearlab.SLgetShearletSystem2D(0,100,100,3), I get the following error:

Warning: The specified Shearlet system was not available for data of size 100x100. Filters were automatically set to configuration 4(see SLcheckFilterSizes). Traceback (most recent call last): File "", line 1, in File "/home/dsweber/allHail/projects/ShatteringTransform/tmp.py", line 12, in pyshearlab.SLgetShearletSystem2D(0,100,100,3) File "/fasterHome/anaconda3/envs/kymat/lib/python3.7/site-packages/pyshearlab/pyShearLab2D.py", line 165, in SLgetShearletSystem2D preparedFilters = SLprepareFilters2D(rows,cols,nScales,shearLevels, directionalFilter,quadratureMirrorFilter) File "/fasterHome/anaconda3/envs/kymat/lib/python3.7/site-packages/pyshearlab/pySLUtilities.py", line 768, in SLprepareFilters2D wedge1, bandpass1, lowpass1 = SLgetWedgeBandpassAndLowpassFilters2D(rows,cols,shearLevels,directionalFilter,scalingFilter,waveletFilter,scalingFilter2) File "/fasterHome/anaconda3/envs/kymat/lib/python3.7/site-packages/pyshearlab/pySLUtilities.py", line 564, in SLgetWedgeBandpassAndLowpassFilters2D lowpassHelp = SLpadArray(filterLow2[len(filterLow2)-max(shearLevel-1,0)-1], np.asarray(wedgeUpsampled.shape)) File "/fasterHome/anaconda3/envs/kymat/lib/python3.7/site-packages/pyshearlab/pySLUtilities.py", line 660, in SLpadArray padSizes[1]:padSizes[1]+currSize[1]+idxModifier[1]] = array ValueError: could not broadcast input array from shape (1,6) into shape (1,7)

It also happens, with different lengths, with smaller numbers (e.g. 28,28)