Hi,

First, I noticed a bug in the version I sent before. I've attached a new
version in patch form, to be applied from the base directory of a normal
0.90.1 installation with 'patch -p1 <patch'.

One artifact I can clearly see is there is partly due to skipping lines <
1 pixel in length. The original agg renderer did this too, so it is not
too different from before. My patch makes it worse, though. You can see it
with plot(rand(10000)) again, but zoom out on only the y axis until the
data is almost a straight line from right to left. You should see little
clumps appear as it gets close to a straight line.

Besides this I have not noticed anything. There may be problem cases I
have not thought of, of course. To see the kind of problem that might
occur, you can try changing the distance cutoff from 0.25 to something
huge like 25.0. There you will definitely notice errors.

About doing this for other image formats: I think it is OK for pixel-based
images, but probably not for SVG or vector-based images. I can imagine
someone writing to an SVG so that they can use another program to make a
pretty rendering of it, but if lines are missing this second program does
not have the full data to work with.

Allan



On Sat, July 7, 2007 10:15 pm, Eric Firing wrote:
> John,
>
>
> Have you considered Allan's version of _backend_agg.cpp (message date
> was 06/27)?  I just tried it, and so far, I like it.  I have not found any
> problems with the backend_driver.py test, and the improvement in speed
> that Allan notes with the "plot(rand(100000))" example is dramatic--the
> difference between unusable for panning and zooming with the original
> backend, and quite responsive and very usable with Allan's version.
>
> I have not tried to understand the algorithm or code.
>
>
> Allan,
>
>
> Can you suggest a simple test that graphically illustrates the "loss of
> accuracy", perhaps a worst case, so we can see whether this is an actual
> problem?
>
> I am also wondering whether your optimization technique, or some
> variation of it, could and should be applied in the generation of
> vector-based printer files: ps, pdf, svg.  They can get excessively large
> and slow with very large datasets, and the ability to trim them with
> minimal loss of genuine information conveyed to the ultimate viewer of the
> plot would be very nice.
>
> Eric

Attachment: patch
Description: Binary data

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to