Index Error
inshu chauhan
insideshoes at gmail.com
Tue Nov 20 09:26:12 EST 2012
> def GenerateRing(x,y, N): Generates square rings around a point in data
> > which has 300 columns(x) and 3000 rows(y)
> > indices = []
> > for i in xrange(-N, N):
> > indices.append((x+i, y-N))
> > indices.append((x+N, y+i))
> > indices.append((x-i, y+N))
> > indices.append((x-N, y-i))
> > return indices
> >
> Is it possible that N is greater than either x or y ? Are negative
> subscripts permissible?
>
> You should consider doing the clipping logic in this function, perhaps
> by passing xlimit and ylimit in as arguments.>
>
Yes N cannot be greater than x and y and it cant be negative too...
> I need help in this part as I am unable to device a method in
> which if the
> points are out of index,it should stop and
> if idx[0] >= 300 and idx[1] >= 3000: go
> to next centre and start generating rings from there.. and again if the
> index is out of range .. this should repeat
This is where you're trying to clip the values that may be outside of
> the total matrix.
>
Yes I am trying to clip the values here but its not working actually , I
mean not at all working
>
> You do not want "and" in that expression. The way you've coded it,
> it'll only skip items in which both indices are out of range. Change it to
> if idx[0] >= data.width or idx[1] >= data.height:
>
> and depending on your answer to my earlier query, you may want to also
> check if either subscript is negative.
>
> > continue
> > else :
> > point = data[idx[0], idx[1]]
> > if point == (0.0, 0.0, 0.0 ):
> > print point
> > continue
> > else:
> > dist = distance(centre, point)
> > print dist
> > if dist < radius : and
> rings
> > should be added only when this condition is satisfied
> > print point
> > points.append(point)
> > change = True
> > print change
> >
> >
> > break
>
> Why do you want to terminate the loop after only iteration?
>
I dint get your question ??
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20121120/bd439147/attachment.html>
More information about the Python-list
mailing list