Scrolled Analog tracing

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Scrolled Analog tracing

Ron Wheeler
Does anyone have any ideas about how to build a simulated scrolling
trace of a voltage level. Think of an ECG trace or a lie detector
tracing of heartbeat or skin conductivity.

The values at a given point of time would be calculated or read from a
data stream.

The banner would scroll with the new bits of the curve at the right end



--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Scrolled Analog tracing

Ian Thomas
I'd use BitmapData, scroll it left (the scroll() method), and plot new
points/lines on the right.

HTH,
   Ian

On Tue, Apr 7, 2009 at 2:05 PM, Ron Wheeler
<[hidden email]> wrote:

> Does anyone have any ideas about how to build a simulated scrolling trace of
> a voltage level. Think of an ECG trace or a lie detector tracing of
> heartbeat or skin conductivity.
>
> The values at a given point of time would be calculated or read from a data
> stream.
>
> The banner would scroll with the new bits of the curve at the right end
>
>
>
> --
> haXe - an open source web programming language
> http://haxe.org
>

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Scrolled Analog tracing

jlm@justinfront.net
Or.. I would use a List<List> and drawing API update every frame add/
remove 'Y' and 't' values from a list, and when drawing use a timer  
to adjust the x position of your 't' values.  For an example of an  
everyframe draw using lists see

http://www.haxe.org/byexample/lambda/flash9/map

It should be possible to simplify and modify to your needs, but Ian's  
approach maybe better, it prob whatever is easiest for you.

Cheers

Justin

On 7 Apr 2009, at 15:14, Ian Thomas wrote:

> I'd use BitmapData, scroll it left (the scroll() method), and plot new
> points/lines on the right.
>
> HTH,
>    Ian
>
> On Tue, Apr 7, 2009 at 2:05 PM, Ron Wheeler
> <[hidden email]> wrote:
>> Does anyone have any ideas about how to build a simulated  
>> scrolling trace of
>> a voltage level. Think of an ECG trace or a lie detector tracing of
>> heartbeat or skin conductivity.
>>
>> The values at a given point of time would be calculated or read  
>> from a data
>> stream.
>>
>> The banner would scroll with the new bits of the curve at the  
>> right end
>>
>>
>>
>> --
>> haXe - an open source web programming language
>> http://haxe.org
>>
>
> --
> haXe - an open source web programming language
> http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Scrolled Analog tracing

Justin Donaldson
I'd go with other Justin's suggestion below.  I've done this a couple of times and I feel it works better than scrolling graphics.  Just draw a small subset of your data each step, and then pop, add, slice, etc. from your data source to update the subset.

Best,
-Justin

On Tue, Apr 7, 2009 at 11:07 AM, Justin Lawerance Mills <[hidden email]> wrote:
Or.. I would use a List<List> and drawing API update every frame add/remove 'Y' and 't' values from a list, and when drawing use a timer to adjust the x position of your 't' values.  For an example of an everyframe draw using lists see

http://www.haxe.org/byexample/lambda/flash9/map

It should be possible to simplify and modify to your needs, but Ian's approach maybe better, it prob whatever is easiest for you.

Cheers

Justin


On 7 Apr 2009, at 15:14, Ian Thomas wrote:

I'd use BitmapData, scroll it left (the scroll() method), and plot new
points/lines on the right.

HTH,
  Ian

On Tue, Apr 7, 2009 at 2:05 PM, Ron Wheeler
<[hidden email]> wrote:
Does anyone have any ideas about how to build a simulated scrolling trace of
a voltage level. Think of an ECG trace or a lie detector tracing of
heartbeat or skin conductivity.

The values at a given point of time would be calculated or read from a data
stream.

The banner would scroll with the new bits of the curve at the right end



--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org



--
Justin Donaldson
PhD Candidate, Informatics
Indiana University
http://www.scwn.net
aim: iujjd

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Scrolled Analog tracing

Blue Sans douze
That's what i've done there (with random values) : http://blog.blue112.eu/charge.php?url=oscillo

-Blue

2009/4/7 Justin Donaldson <[hidden email]>
I'd go with other Justin's suggestion below.  I've done this a couple of times and I feel it works better than scrolling graphics.  Just draw a small subset of your data each step, and then pop, add, slice, etc. from your data source to update the subset.

Best,
-Justin


On Tue, Apr 7, 2009 at 11:07 AM, Justin Lawerance Mills <[hidden email]> wrote:
Or.. I would use a List<List> and drawing API update every frame add/remove 'Y' and 't' values from a list, and when drawing use a timer to adjust the x position of your 't' values.  For an example of an everyframe draw using lists see

http://www.haxe.org/byexample/lambda/flash9/map

It should be possible to simplify and modify to your needs, but Ian's approach maybe better, it prob whatever is easiest for you.

Cheers

Justin


On 7 Apr 2009, at 15:14, Ian Thomas wrote:

I'd use BitmapData, scroll it left (the scroll() method), and plot new
points/lines on the right.

HTH,
  Ian

On Tue, Apr 7, 2009 at 2:05 PM, Ron Wheeler
<[hidden email]> wrote:
Does anyone have any ideas about how to build a simulated scrolling trace of
a voltage level. Think of an ECG trace or a lie detector tracing of
heartbeat or skin conductivity.

The values at a given point of time would be calculated or read from a data
stream.

The banner would scroll with the new bits of the curve at the right end



--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org



--
Justin Donaldson
PhD Candidate, Informatics
Indiana University
http://www.scwn.net
aim: iujjd

--
haXe - an open source web programming language
http://haxe.org



--
Blue112

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Scrolled Analog tracing

Justin Donaldson
That'll hypnotize me if I look at it too long :)

As a final note, I wanted to clarify what I said before... redrawing subsets works "better" for me in the case of drawing lines because it's far simpler.  If you want optimal speed, or if you are generating and scrolling something that's more graphics intesnive you could try a tiling + scrolling approach (break the data up into blocks, render each block, and then scroll the chunk along until it is completely off screen).  Flash will move prerendered bitmaps around extremely quickly (no alpha channels/transparency/etc).  However, I've never seemed to get much of an improvement out of it for simple graphic lines.

Best,
-Justin

On Tue, Apr 7, 2009 at 1:17 PM, Blue Sans douze <[hidden email]> wrote:
That's what i've done there (with random values) : http://blog.blue112.eu/charge.php?url=oscillo

-Blue

2009/4/7 Justin Donaldson <[hidden email]>

I'd go with other Justin's suggestion below.  I've done this a couple of times and I feel it works better than scrolling graphics.  Just draw a small subset of your data each step, and then pop, add, slice, etc. from your data source to update the subset.

Best,
-Justin


On Tue, Apr 7, 2009 at 11:07 AM, Justin Lawerance Mills <[hidden email]> wrote:
Or.. I would use a List<List> and drawing API update every frame add/remove 'Y' and 't' values from a list, and when drawing use a timer to adjust the x position of your 't' values.  For an example of an everyframe draw using lists see

http://www.haxe.org/byexample/lambda/flash9/map

It should be possible to simplify and modify to your needs, but Ian's approach maybe better, it prob whatever is easiest for you.

Cheers

Justin


On 7 Apr 2009, at 15:14, Ian Thomas wrote:

I'd use BitmapData, scroll it left (the scroll() method), and plot new
points/lines on the right.

HTH,
  Ian

On Tue, Apr 7, 2009 at 2:05 PM, Ron Wheeler
<[hidden email]> wrote:
Does anyone have any ideas about how to build a simulated scrolling trace of
a voltage level. Think of an ECG trace or a lie detector tracing of
heartbeat or skin conductivity.

The values at a given point of time would be calculated or read from a data
stream.

The banner would scroll with the new bits of the curve at the right end



--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org



--
Justin Donaldson
PhD Candidate, Informatics
Indiana University
http://www.scwn.net
aim: iujjd

--
haXe - an open source web programming language
http://haxe.org



--
Blue112

--
haXe - an open source web programming language
http://haxe.org



--
Justin Donaldson
PhD Candidate, Informatics
Indiana University
http://www.scwn.net
aim: iujjd

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Scrolled Analog tracing

Ron Wheeler
In reply to this post by Blue Sans douze

Thanks to everyone.
That is exactly what I was looking for.
The center vertical line wobbles a bit but that is not a problem.

I am sure that I will have more questions later.

Ron


Blue Sans douze wrote:

> That's what i've done there (with random values) :
> http://blog.blue112.eu/charge.php?url=oscillo
>
> -Blue
>
> 2009/4/7 Justin Donaldson <[hidden email]
> <mailto:[hidden email]>>
>
>     I'd go with other Justin's suggestion below.  I've done this a
>     couple of times and I feel it works better than scrolling
>     graphics.  Just draw a small subset of your data each step, and
>     then pop, add, slice, etc. from your data source to update the subset.
>
>     Best,
>     -Justin
>
>
>     On Tue, Apr 7, 2009 at 11:07 AM, Justin Lawerance Mills
>     <[hidden email] <mailto:[hidden email]>> wrote:
>
>         Or.. I would use a List<List> and drawing API update every
>         frame add/remove 'Y' and 't' values from a list, and when
>         drawing use a timer to adjust the x position of your 't'
>         values.  For an example of an everyframe draw using lists see
>
>         http://www.haxe.org/byexample/lambda/flash9/map
>
>         It should be possible to simplify and modify to your needs,
>         but Ian's approach maybe better, it prob whatever is easiest
>         for you.
>
>         Cheers
>
>         Justin
>
>
>         On 7 Apr 2009, at 15:14, Ian Thomas wrote:
>
>             I'd use BitmapData, scroll it left (the scroll() method),
>             and plot new
>             points/lines on the right.
>
>             HTH,
>               Ian
>
>             On Tue, Apr 7, 2009 at 2:05 PM, Ron Wheeler
>             <[hidden email]
>             <mailto:[hidden email]>> wrote:
>
>                 Does anyone have any ideas about how to build a
>                 simulated scrolling trace of
>                 a voltage level. Think of an ECG trace or a lie
>                 detector tracing of
>                 heartbeat or skin conductivity.
>
>                 The values at a given point of time would be
>                 calculated or read from a data
>                 stream.
>
>                 The banner would scroll with the new bits of the curve
>                 at the right end
>
>
>
>                 --
>                 haXe - an open source web programming language
>                 http://haxe.org
>
>
>             --
>             haXe - an open source web programming language
>             http://haxe.org
>
>
>
>         --
>         haXe - an open source web programming language
>         http://haxe.org
>
>
>
>
>     --
>     Justin Donaldson
>     PhD Candidate, Informatics
>     Indiana University
>     http://www.scwn.net
>     aim: iujjd
>
>     --
>     haXe - an open source web programming language
>     http://haxe.org
>
>
>
>
> --
> Blue112


--
haXe - an open source web programming language
http://haxe.org