[Matplotlib-users] Polygon masking possible? From: - 2008-01-22 09:12:09 Attachments: Message as HTML ```Hi, I'm looking for a way to do masking of an Image.. I need to be able to make a circle / box or a user made polygon on an image using the mouse and retrieve the pixellocations of all pixels inside the masked area.. (which will then be processed later) Has anyone tried this? What is the easiest way to start? I'm using wxpython for the GUI. Thanks! Soren Nielsen ```

 [Matplotlib-users] Polygon masking possible? From: - 2008-01-22 09:12:09 Attachments: Message as HTML ```Hi, I'm looking for a way to do masking of an Image.. I need to be able to make a circle / box or a user made polygon on an image using the mouse and retrieve the pixellocations of all pixels inside the masked area.. (which will then be processed later) Has anyone tried this? What is the easiest way to start? I'm using wxpython for the GUI. Thanks! Soren Nielsen ```
 Re: [Matplotlib-users] Polygon masking possible? From: Angus McMorland - 2008-01-22 09:52:22 ```On 22/01/2008, S=F8ren Nielsen wrote: > I'm looking for a way to do masking of an Image.. I need to be able to ma= ke > a circle / box or a user made polygon on an image using the mouse and > retrieve the pixellocations of all pixels inside the masked area.. (which > will then be processed later) I have very recently written some code that creates a binary mask (2-D array) of an irregular polygon given the co-ordinates of the corners. It successively uses equations of the line segments between pairs of neighbouring points around the polygon edge and sets the pixels on the inner side of those lines. I doubt it's the most efficient code, but seem so to work, and I'm happy to send you a copy it if it might be helpful. > Has anyone tried this? What is the easiest way > to start? I'm using wxpython for the GUI. It's relatively easy to capture successive mouse clicks using mpl, and use those co-ordinates for the polygon calculating code. An example of capturing mouse co-ordinates is in the cookbook: http://www.scipy.org/Cookbook/Matplotlib/Interactive_Plotting. Best regards, Angus. --=20 AJC McMorland, PhD candidate Physiology, University of Auckland ```
 Re: [Matplotlib-users] Polygon masking possible? From: Angus McMorland - 2008-01-23 00:50:18 ```Hi S=F8ren, I've put this back on the list in case it's useful to anyone else, or if there are better suggestions or improvements around. Hope you don't mind. On 22/01/2008, S=F8ren Nielsen wrote: > Yeah i'd like to see your code if I can.. import numpy as n def get_poly_pts(x, y, shape): """Creates convex polygon mask from list of corners. Parameters ---------- x : array_like x co-ordinates of corners y : array_like y co-ordinates of corners, in order corresponding to x shape : array_like dimension sizes of result Returns ------- build : ndarray 2-D array of shape shape with values True inside polygon Notes ----- Code is constrained to convex polygons by "inside" assessment criterion. """ x =3D n.asarray(x) y =3D n.asarray(y) shape =3D n.asarray(shape) npts =3D x.size # should probably assert x.size =3D=3D y.size inds =3D n.indices( shape ) xs =3D inds[0] ys =3D inds[1] xav =3D n.round(x.mean()).astype(int) yav =3D n.round(y.mean()).astype(int) for i in xrange(npts): # iterate over pairs of co-ordinates j =3D (i + 1) % npts m =3D (y[j] - y[i])/(x[j] - x[i]) c =3D (x[j] * y[i] - x[i] * y[j])/(x[j] - x[i]) thisone =3D ( ys > m * xs + c ) if thisone[xav, yav] =3D=3D False: thisone =3D ~thisone if i =3D=3D 0: build =3D thisone else: build &=3D thisone return build (released under BSD licence) > I just needed the push over the edge to know how to draw on the canvas, > mapping clicks etc. since i'm still fairly new to matplotlib, so I think > your code will be helpfull. I hope so. As you can see this code doesn't do any of the drawing or click collecting, but the cookbook page should be able to guide you there. Ask again on the list if you have any further questions and we'll see if we can help. Also, the code assumes that the average co-ordinate is inside the shape - that's true for convex polygons, but not necessarily for arbitrary ones. I use if after taking a convex hull of a greater list of points (using the delaunay module in scipy (now in scikits, I hear)), which ensures convexity. You just need to be aware of that limitation. Cheers, A. --=20 AJC McMorland, PhD candidate Physiology, University of Auckland ```
 Re: [Matplotlib-users] Polygon masking possible? From: Chiara Caronna - 2008-03-08 15:17:56 Attachments: Message as HTML ```Hello, I am also interested in masking polygons and defining the polygon by 'clicking' on the image... but I do not know anything about GUI.... does anyone can help? Is there already something implemented? Thanks! Chiara > Date: Wed, 23 Jan 2008 13:50:15 +1300 > From: amcmorl@... > To: matplotlib-users@... > Subject: Re: [Matplotlib-users] Polygon masking possible? > > Hi Søren, > > I've put this back on the list in case it's useful to anyone else, or > if there are better suggestions or improvements around. Hope you don't > mind. > > On 22/01/2008, Søren Nielsen wrote: > > Yeah i'd like to see your code if I can.. > > import numpy as n > > def get_poly_pts(x, y, shape): > """Creates convex polygon mask from list of corners. > > Parameters > ---------- > x : array_like > x co-ordinates of corners > y : array_like > y co-ordinates of corners, in order corresponding to x > shape : array_like > dimension sizes of result > > Returns > ------- > build : ndarray > 2-D array of shape shape with values True inside polygon > > Notes > ----- > Code is constrained to convex polygons by "inside" > assessment criterion. > > """ > x = n.asarray(x) > y = n.asarray(y) > shape = n.asarray(shape) > npts = x.size # should probably assert x.size == y.size > inds = n.indices( shape ) > xs = inds[0] > ys = inds[1] > xav = n.round(x.mean()).astype(int) > yav = n.round(y.mean()).astype(int) > for i in xrange(npts): # iterate over pairs of co-ordinates > j = (i + 1) % npts > m = (y[j] - y[i])/(x[j] - x[i]) > c = (x[j] * y[i] - x[i] * y[j])/(x[j] - x[i]) > thisone = ( ys > m * xs + c ) > if thisone[xav, yav] == False: > thisone = ~thisone > if i == 0: > build = thisone > else: > build &= thisone > return build > > (released under BSD licence) > > > I just needed the push over the edge to know how to draw on the canvas, > > mapping clicks etc. since i'm still fairly new to matplotlib, so I think > > your code will be helpfull. > > I hope so. As you can see this code doesn't do any of the drawing or > click collecting, but the cookbook page should be able to guide you > there. Ask again on the list if you have any further questions and > we'll see if we can help. > > Also, the code assumes that the average co-ordinate is inside the > shape - that's true for convex polygons, but not necessarily for > arbitrary ones. I use if after taking a convex hull of a greater list > of points (using the delaunay module in scipy (now in scikits, I > hear)), which ensures convexity. You just need to be aware of that > limitation. > > Cheers, > > A. > -- > AJC McMorland, PhD candidate > Physiology, University of Auckland > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/```
 Re: [Matplotlib-users] Polygon masking possible? From: Jae-Joon Lee - 2008-03-12 06:55:58 ```Hi, I often do this with ds9 and funtools. ds9 is an astronomy-oriented image viewer (http://hea-www.harvard.edu/RD/ds9/) but you can also use it with numpy array. Within ds9, you can define regions (ellipse, polynomial, etc) easily with a mouse. After you define a region (and save it as a file), you can convert it to a mask image with funtools (funtools is a name of an astronomy-oriented image utility pacakge). funtools only support fits file (image format in astronomy) so this can be a bit tricky, but if you're interested i'll send my python wrapper code for it. So, take a look at ds9 and see it fits your need. To view numpy array in ds9, *. From python, save the array as a file (tofile method, better use "arr" as an extension) * in ds9, file-> open others -> open array. You need to select array dimension, type and endianness of the array. Regards, -JJ On Sat, Mar 8, 2008 at 11:17 AM, Chiara Caronna wrote: > > Hello, > I am also interested in masking polygons and defining the polygon by > 'clicking' on the image... but I do not know anything about GUI.... does > anyone can help? Is there already something implemented? > Thanks! > Chiara > > > Date: Wed, 23 Jan 2008 13:50:15 +1300 > > From: amcmorl@... > > To: matplotlib-users@... > > Subject: Re: [Matplotlib-users] Polygon masking possible? > > > > > > Hi Søren, > > > > I've put this back on the list in case it's useful to anyone else, or > > if there are better suggestions or improvements around. Hope you don't > > mind. > > > > On 22/01/2008, Søren Nielsen wrote: > > > Yeah i'd like to see your code if I can.. > > > > import numpy as n > > > > def get_poly_pts(x, y, shape): > > """Creates convex polygon mask from list of corners. > > > > Parameters > > ---------- > > x : array_like > > x co-ordinates of corners > > y : array_like > > y co-ordinates of corners, in order corresponding to x > > shape : array_like > > dimension sizes of result > > > > Returns > > ------- > > build : ndarray > > 2-D array of shape shape with values True inside polygon > > > > Notes > > ----- > > Code is constrained to convex polygons by "inside" > > assessment criterion. > > > > """ > > x = n.asarray(x) > > y = n.asarray(y) > > shape = n.asarray(shape) > > npts = x.size # should probably assert x.size == y.size > > inds = n.indices( shape ) > > xs = inds[0] > > ys = inds[1] > > xav = n.round(x.mean()).astype(int) > > yav = n.round(y.mean()).astype(int) > > for i in xrange(npts): # iterate over pairs of co-ordinates > > j = (i + 1) % npts > > m = (y[j] - y[i])/(x[j] - x[i]) > > c = (x[j] * y[i] - x[i] * y[j])/(x[j] - x[i]) > > thisone = ( ys > m * xs + c ) > > if thisone[xav, yav] == False: > > thisone = ~thisone > > if i == 0: > > build = thisone > > else: > > build &= thisone > > return build > > > > (released under BSD licence) > > > > > I just needed the push over the edge to know how to draw on the canvas, > > > mapping clicks etc. since i'm still fairly new to matplotlib, so I think > > > your code will be helpfull. > > > > I hope so. As you can see this code doesn't do any of the drawing or > > click collecting, but the cookbook page should be able to guide you > > there. Ask again on the list if you have any further questions and > > we'll see if we can help. > > > > Also, the code assumes that the average co-ordinate is inside the > > shape - that's true for convex polygons, but not necessarily for > > arbitrary ones. I use if after taking a convex hull of a greater list > > of points (using the delaunay module in scipy (now in scikits, I > > hear)), which ensures convexity. You just need to be aware of that > > limitation. > > > > Cheers, > > > > A. > > -- > > AJC McMorland, PhD candidate > > Physiology, University of Auckland > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by: Microsoft > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > _______________________________________________ > > Matplotlib-users mailing list > > Matplotlib-users@... > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > ________________________________ > Express yourself instantly with MSN Messenger! MSN Messenger > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > ```
 Re: [Matplotlib-users] Polygon masking possible? From: Chiara Caronna - 2008-03-14 16:45:05 Attachments: Message as HTML ```Hi, I tried ds9 and It looks like this is what I would like to do (though I couldn't try funtools, but what you describe is good). DO you think it is possible to make something like this with matplotlib? Thanks a lot for your help, Chiara > Date: Wed, 12 Mar 2008 02:55:55 -0400 > From: lee.j.joon@... > To: chiaracaronna@... > Subject: Re: [Matplotlib-users] Polygon masking possible? > CC: matplotlib-users@... > > Hi, > > I often do this with ds9 and funtools. > ds9 is an astronomy-oriented image viewer (http://hea-www.harvard.edu/RD/ds9/) > but you can also use it with numpy array. > Within ds9, you can define regions (ellipse, polynomial, etc) easily > with a mouse. > After you define a region (and save it as a file), you can convert it > to a mask image > with funtools (funtools is a name of an astronomy-oriented image > utility pacakge). > funtools only support fits file (image format in astronomy) so this > can be a bit tricky, but if you're > interested i'll send my python wrapper code for it. > > So, take a look at ds9 and see it fits your need. > To view numpy array in ds9, > *. From python, save the array as a file (tofile method, better use > "arr" as an extension) > * in ds9, file-> open others -> open array. You need to select > array dimension, type and endianness of the array. > > Regards, > > -JJ > > > > > > On Sat, Mar 8, 2008 at 11:17 AM, Chiara Caronna > wrote: > > > > Hello, > > I am also interested in masking polygons and defining the polygon by > > 'clicking' on the image... but I do not know anything about GUI.... does > > anyone can help? Is there already something implemented? > > Thanks! > > Chiara > > > > > Date: Wed, 23 Jan 2008 13:50:15 +1300 > > > From: amcmorl@... > > > To: matplotlib-users@... > > > Subject: Re: [Matplotlib-users] Polygon masking possible? > > > > > > > > > > Hi Søren, > > > > > > I've put this back on the list in case it's useful to anyone else, or > > > if there are better suggestions or improvements around. Hope you don't > > > mind. > > > > > > On 22/01/2008, Søren Nielsen wrote: > > > > Yeah i'd like to see your code if I can.. > > > > > > import numpy as n > > > > > > def get_poly_pts(x, y, shape): > > > """Creates convex polygon mask from list of corners. > > > > > > Parameters > > > ---------- > > > x : array_like > > > x co-ordinates of corners > > > y : array_like > > > y co-ordinates of corners, in order corresponding to x > > > shape : array_like > > > dimension sizes of result > > > > > > Returns > > > ------- > > > build : ndarray > > > 2-D array of shape shape with values True inside polygon > > > > > > Notes > > > ----- > > > Code is constrained to convex polygons by "inside" > > > assessment criterion. > > > > > > """ > > > x = n.asarray(x) > > > y = n.asarray(y) > > > shape = n.asarray(shape) > > > npts = x.size # should probably assert x.size == y.size > > > inds = n.indices( shape ) > > > xs = inds[0] > > > ys = inds[1] > > > xav = n.round(x.mean()).astype(int) > > > yav = n.round(y.mean()).astype(int) > > > for i in xrange(npts): # iterate over pairs of co-ordinates > > > j = (i + 1) % npts > > > m = (y[j] - y[i])/(x[j] - x[i]) > > > c = (x[j] * y[i] - x[i] * y[j])/(x[j] - x[i]) > > > thisone = ( ys > m * xs + c ) > > > if thisone[xav, yav] == False: > > > thisone = ~thisone > > > if i == 0: > > > build = thisone > > > else: > > > build &= thisone > > > return build > > > > > > (released under BSD licence) > > > > > > > I just needed the push over the edge to know how to draw on the canvas, > > > > mapping clicks etc. since i'm still fairly new to matplotlib, so I think > > > > your code will be helpfull. > > > > > > I hope so. As you can see this code doesn't do any of the drawing or > > > click collecting, but the cookbook page should be able to guide you > > > there. Ask again on the list if you have any further questions and > > > we'll see if we can help. > > > > > > Also, the code assumes that the average co-ordinate is inside the > > > shape - that's true for convex polygons, but not necessarily for > > > arbitrary ones. I use if after taking a convex hull of a greater list > > > of points (using the delaunay module in scipy (now in scikits, I > > > hear)), which ensures convexity. You just need to be aware of that > > > limitation. > > > > > > Cheers, > > > > > > A. > > > -- > > > AJC McMorland, PhD candidate > > > Physiology, University of Auckland > > > > > > ------------------------------------------------------------------------- > > > This SF.net email is sponsored by: Microsoft > > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > _______________________________________________ > > > Matplotlib-users mailing list > > > Matplotlib-users@... > > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > ________________________________ > > Express yourself instantly with MSN Messenger! MSN Messenger > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by: Microsoft > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > _______________________________________________ > > Matplotlib-users mailing list > > Matplotlib-users@... > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/```
 Re: [Matplotlib-users] Polygon masking possible? From: Perry Greenfield - 2008-03-14 19:38:19 ```Note that numdisplay can display numpy arrays directly to ds9 without saving to a file. (http://stsdas.stsci.edu/numdisplay). Perry On Mar 14, 2008, at 12:44 PM, Chiara Caronna wrote: > Hi, > I tried ds9 and It looks like this is what I would like to do > (though I couldn't try funtools, but what you describe is good). DO > you think it is possible to make something like this with matplotlib? > Thanks a lot for your help, > Chiara > > > Date: Wed, 12 Mar 2008 02:55:55 -0400 > > From: lee.j.joon@... > > To: chiaracaronna@... > > Subject: Re: [Matplotlib-users] Polygon masking possible? > > CC: matplotlib-users@... > > > > Hi, > > > > I often do this with ds9 and funtools. > > ds9 is an astronomy-oriented image viewer (http://hea- > http://www.harvard.edu/RD/ds9/) > > but you can also use it with numpy array. > > Within ds9, you can define regions (ellipse, polynomial, etc) easily > > with a mouse. > > After you define a region (and save it as a file), you can > convert it > > to a mask image > > with funtools (funtools is a name of an astronomy-oriented image > > utility pacakge). > > funtools only support fits file (image format in astronomy) so this > > can be a bit tricky, but if you're > > interested i'll send my python wrapper code for it. > > > > So, take a look at ds9 and see it fits your need. > > To view numpy array in ds9, > > *. From python, save the array as a file (tofile method, better use > > "arr" as an extension) > > * in ds9, file-> open others -> open array. You need to select > > array dimension, type and endianness of the array. > > > > Regards, > > > > -JJ > > > > > > > > > > > > On Sat, Mar 8, 2008 at 11:17 AM, Chiara Caronna > > wrote: > > > > > > Hello, > > > I am also interested in masking polygons and defining the > polygon by > > > 'clicking' on the image... but I do not know anything about > GUI.... does > > > anyone can help? Is there already something implemented? > > > Thanks! > > > Chiara > > > > > > > Date: Wed, 23 Jan 2008 13:50:15 +1300 > > > > From: amcmorl@... > > > > To: matplotlib-users@... > > > > Subject: Re: [Matplotlib-users] Polygon masking possible? > > > > > > > > > > > > > > Hi Søren, > > > > > > > > I've put this back on the list in case it's useful to anyone > else, or > > > > if there are better suggestions or improvements around. Hope > you don't > > > > mind. > > > > > > > > On 22/01/2008, Søren Nielsen > wrote: > > > > > Yeah i'd like to see your code if I can.. > > > > > > > > import numpy as n > > > > > > > > def get_poly_pts(x, y, shape): > > > > """Creates convex polygon mask from list of corners. > > > > > > > > Parameters > > > > ---------- > > > > x : array_like > > > > x co-ordinates of corners > > > > y : array_like > > > > y co-ordinates of corners, in order corresponding to x > > > > shape : array_like > > > > dimension sizes of result > > > > > > > > Returns > > > > ------- > > > > build : ndarray > > > > 2-D array of shape shape with values True inside polygon > > > > > > > > Notes > > > > ----- > > > > Code is constrained to convex polygons by "inside" > > > > assessment criterion. > > > > > > > > """ > > > > x = n.asarray(x) > > > > y = n.asarray(y) > > > > shape = n.asarray(shape) > > > > npts = x.size # should probably assert x.size == y.size > > > > inds = n.indices( shape ) > > > > xs = inds[0] > > > > ys = inds[1] > > > > xav = n.round(x.mean()).astype(int) > > > > yav = n.round(y.mean()).astype(int) > > > > for i in xrange(npts): # iterate over pairs of co-ordinates > > > > j = (i + 1) % npts > > > > m = (y[j] - y[i])/(x[j] - x[i]) > > > > c = (x[j] * y[i] - x[i] * y[j])/(x[j] - x[i]) > > > > thisone = ( ys > m * xs + c ) > > > > if thisone[xav, yav] == False: > > > > thisone = ~thisone > > > > if i == 0: > > > > build = thisone > > > > else: > > > > build &= thisone > > > > return build > > > > > > > > (released under BSD licence) > > > > > > > > > I just needed the push over the edge to know how to draw on > the canvas, > > > > > mapping clicks etc. since i'm still fairly new to > matplotlib, so I think > > > > > your code will be helpfull. > > > > > > > > I hope so. As you can see this code doesn't do any of the > drawing or > > > > click collecting, but the cookbook page should be able to > guide you > > > > there. Ask again on the list if you have any further > questions and > > > > we'll see if we can help. > > > > > > > > Also, the code assumes that the average co-ordinate is inside > the > > > > shape - that's true for convex polygons, but not necessarily for > > > > arbitrary ones. I use if after taking a convex hull of a > greater list > > > > of points (using the delaunay module in scipy (now in scikits, I > > > > hear)), which ensures convexity. You just need to be aware of > that > > > > limitation. > > > > > > > > Cheers, > > > > > > > > A. > > > > -- > > > > AJC McMorland, PhD candidate > > > > Physiology, University of Auckland > > > > > > > > > ---------------------------------------------------------------------- > --- > > > > This SF.net email is sponsored by: Microsoft > > > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > > _______________________________________________ > > > > Matplotlib-users mailing list > > > > Matplotlib-users@... > > > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > > > ________________________________ > > > Express yourself instantly with MSN Messenger! MSN Messenger > > > > ---------------------------------------------------------------------- > --- > > > This SF.net email is sponsored by: Microsoft > > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > _______________________________________________ > > > Matplotlib-users mailing list > > > Matplotlib-users@... > > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > > > > > Express yourself instantly with MSN Messenger! MSN Messenger > ---------------------------------------------------------------------- > --- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users ```
 Re: [Matplotlib-users] Polygon masking possible? From: José Gómez-Dans - 2008-03-14 18:03:24 ```On Friday 14 March 2008 16:44:54 Chiara Caronna wrote: > I tried ds9 and It looks like this is what I would like to do (though I > couldn't try funtools, but what you describe is good). DO you think it is > possible to make something like this with matplotlib? Thanks a lot for your The initiating thread (from January) had some suggestions. In particular, some code that does this from Rob Hetland: ; Hope that helps, Jose ```
 Re: [Matplotlib-users] Polygon masking possible? From: Chiara Caronna - 2008-03-28 13:29:26 ```I am not sure how should I use it.... any hints? ---------------------------------------- > From: jgomezdans@... > To: matplotlib-users@... > Subject: Re: [Matplotlib-users] Polygon masking possible? > Date: Fri, 14 Mar 2008 18:03:13 +0000 > CC: chiaracaronna@... > > On Friday 14 March 2008 16:44:54 Chiara Caronna wrote: >> I tried ds9 and It looks like this is what I would like to do (though I >> couldn't try funtools, but what you describe is good). DO you think it is >> possible to make something like this with matplotlib? Thanks a lot for your > > The initiating thread (from January) had some suggestions. In particular, some > code that does this from Rob Hetland: > > > Hope that helps, > Jose _________________________________________________________________ Discover the new Windows Vista http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE ```