Re: interactive dragrect over a raster image
- To: mathgroup at smc.vnet.net
- Subject: [mg89629] Re: interactive dragrect over a raster image
- From: "David Park" <djmpark at comcast.net>
- Date: Sun, 15 Jun 2008 06:14:59 -0400 (EDT)
- References: <g3038u$mei$1@smc.vnet.net>
Here is one solution. I make the width and height of the rectangle
dynamically adjustable. The red point is a locator to position the
rectangle. You could add another plot in a row to give a histogram analysis,
but since I don't know what that might be I simply output the number of
points in the rectangle.
data = RandomReal[{0, 10}, {100, 2}];
DynamicModule[
{pt = {0, 0}, width = 2., height = 1.},
Column[{
Item[Style["Analysis With Data Sampler", "Panel", Large,
Background -> None], Alignment -> Center],
Row[{"width: ", InputField[Dynamic[width], ImageSize -> {60, 20}],
Spacer[10], "height: ",
InputField[Dynamic[height], ImageSize -> {60, 20}], Spacer[10],
"center: ",
Dynamic@NumberForm[pt + {width, height}/2, {4, 2}]}],
Row[{"Point count in sample: ",
Dynamic@Length@
Select[data,
First[pt] <= First[#] <= First[pt] + width \[And]
Last[pt] <= Last[#] <= Last[pt] + height &]}],
Graphics[
{Yellow, Dynamic@Rectangle[pt, pt + {width, height}],
Black, AbsolutePointSize[3], Point /@ data,
Locator[Dynamic[pt],
Graphics[{Red, AbsolutePointSize[6], Point[{0, 0}]}]]},
Frame -> True,
PlotRange -> {{0, 10}, {0, 10}},
PlotRangePadding -> 1,
ImageSize -> 400](* Graphics *)
}](* Column *)
]
--
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/
"rych" <rychphd at gmail.com> wrote in message
news:g3038u$mei$1 at smc.vnet.net...
>I would like to be able to drag a rectangle with mouse over a raster
> image plot and dynamically update another plot, a histogram, for
> example, for the corresponding region? Something like Slider2D on the
> background of the image? Or is it better to program it using NETLink,
> or something?
> Igor
>