From: Alan W. I. <ir...@be...> - 2016-09-13 02:27:42
|
On 2016-09-12 21:39+0100 Phil Rosenberg wrote: >>>> I'm still of the opinion that the notcrossed function should not use >>>> the 2 pixel fuzziness. At this point in the drawing we are dealing in >>>> integer pixels and we need only an epsilon test I think. I think the >>>> best fix is to change this. There are some sticking plaster solutions >>>> that would hide the problem but not really fix it in my opinion. I >>>> would really like to change the notcrossed function unless anyone has >>>> some really strong objections? >>> >>> >>> My opinion is this is an extraordinarily tricky topic where all the >>> currently active fill code (i.e., the part of the code not currently >>> removed by the C preprocessor) needs to be completely reviewed and >>> potentially rewritten. Also, I think the fuzziness logic (with all >>> bugs fixed in that code) should stay just in the interests of >>> providing some tolerance for numerical rounding errors. For example, >>> even the article <https://en.wikipedia.org/wiki/Point_in_polygon> >>> talks of providing some numerical tolerance. Note also, such >>> tolerance is certainly required for the integer case since minute >>> rounding errors in the floating point calculations that decide, for >>> example, whether a point is inside or outside a polygon can shift >>> integer results around by +/- 1. >>> >>> I have a topic branch where I have already taken some substantial >>> steps along the above ideas (including at least one bug fix in our >>> current fuzzy logic in notcrossed). I temporarily halted work on that >>> topic some time ago, but assuming you can provide a test example that >>> triggers fill bugs regardless of compiler or optimization level, I >>> plan to take up that topic again where the first order of business >>> will be to compare (using imagemagick image differences) updated fill >>> algorithm results versus 5.11.1 results for all our standard examples >>> that use fill in some way. (That test should turn up any unusual fill >>> artifacts in our examples that are generated by bugs in the original >>> or revised fill algorithm, and once that test is implemented it should >>> be done for any fill change from now on.) In addition, of course, I >>> will look carefully at your example to make sure the revised fill >>> algorithm produces the correct result for it. >>> >>> Assuming you are able to provide the requested example which triggers >>> the fill bug regardless of rounding issues, and the above >>> plan meets with your approval, I would plan to start working on this >>> topic again just after the current release is out the door. >>> >>> Note also there are still a number of relatively small issues I would >>> like to address for this release, but because of the break I mentioned >>> above, I made little progress on those this summer so that release >>> deadline is still indefinite and at least a month or two away. >>> > I agree that this is tricky, but feel this is something we can deal > with without being too troublesome. Algorithms and code already exist > to do this consistently - we're not the first to have to deal with it. > In fact here is a 7 line C implementation that deals with the ray > hitting a vertex correctly, but doesn't give any warning about if the > point is close to or on a segment. > > I still don't understand why we need two whole plplot units of > fuzziness. I understand that we round and that can give us up to two > pixels of error. But surely we just accept that and work with the > rounded polygons as if they were exact - in fact they are exact > because they use integers. > > for example we wish to plot two rectangles which end up with internal > coordinates of the opposite corners of (200,400.2),(600,600.4) and > (200,600.4),(600,800.1). We round these to give (200,400),(600,600) > and (200,600),(600,800). Now there is absolutely no count that the > point (350,600.2) is in the second rectangle. Of course if we were > using the original coordinates this point would have been in the first > rectangle. But we are not plotting the original coordinates, we are > plotting the rounded coordinates and that is what matters - the > coordinates we are plotting. We shouldn't care about 1-pixel rounding shifts in results. But we do need to care about logic screwups caused by such shifts. Of course, you are also demonstrating the current fuzzy logic sucks, i.e., the cure is currently worse than the disease. But let's fix that fuzzy logic rather than throwing it out completely. > > I would clearly like to get this fixed properly, but in the meantime > would anyone object if I apply a sticking plaster fix for this as it > is something I have hit about half a dozen times over the last six > months - I presume this is because I've been plotting some really high > resolution data. So I do really need to avoid the issue for now. There is a substantial testing requirement for fill changes. The reason for that is we have had years of mostly good user experience with the present fill algorithm so I feel it is important that anybody that changes the fill algorithm in any further way needs to demonstrate with substantial testing that their change does not introduce fill regressions. I have alluded previously to automated fill regression testing (for all our standard examples that directly or indirectly use fill and all our file devices). The core of the idea is to compare old and updated plot file results using imagemagick image differences. Do you agree this general approach (supplemented by actually looking at the "fill" subset of our examples for each of our interactive devices) is the way forward to insure that our further fill changes do not introduce more issues than they fix? Assuming you like this idea, please implement it if you are in a hurry or else wait for me to implement it post-release. Then once our fill regression testing scheme is in place, you should test any proposed fill change with that scheme before you merge that fill change to the master branch. Of course, while waiting for one of us to implement such a fill testing scheme, there is still the problem about what to do for the fill problems that have recently been bugging you? I suggest you should simply solve those issues locally in any convenient way that you find that works for your particular needs, and circulate that patch on this list to be referred to when we finally start working on the definitive fix. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Phil R. <p.d...@gm...> - 2016-09-13 09:22:27
|
On 13 September 2016 at 02:13, Alan W. Irwin <ir...@be...> wrote: > On 2016-09-12 21:21+0100 Phil Rosenberg wrote: > >> Hi Alan >> I just built on Ubuntu (disabling F95 due to the issue I reported a >> short while ago). I get the same full fill issue with wxWidgets, but >> not with other drivers. I guess each driver may use slightly different >> geometry so it ruins the example. Please could you try with wxWidgets >> driver or let me know if you have tried that and it still fails. > > > I confirm the full fill issue with -dev wxwidgets. So it appears we > finally have a reproducible example of a problem, but you should > follow up by figuring out exactly why wxwidgets shows the issue and > our other devices currently do not and ideally you will be able to > follow up even further by adjusting the example slightly so all our > devices show the issue. Hi Alan I have just checked by trying the case I sent round with the svg device on Windows. The viewport has different dimensions for this device compared to wxWidgets and hence the geometry does not work and the bug is not exposed. For example the bottom left corner for the svg device is [4587,2867], whereas for wxWidgets it is [4468,3965]. I assume this has something to do with aspect ratios of the page on the different devices or something. But anyway, these inconsistent sizes means it isn't possible to generate a case that exposes the bug on all devices. I think all those involved have access to wxWidgets - please state if not - so I think this should be fine for us to work on. > > > Alan > __________________________ > Alan W. Irwin > > Astronomical research affiliation with Department of Physics and Astronomy, > University of Victoria (astrowww.phys.uvic.ca). > > Programming affiliations with the FreeEOS equation-of-state > implementation for stellar interiors (freeeos.sf.net); the Time > Ephemerides project (timeephem.sf.net); PLplot scientific plotting > software package (plplot.sf.net); the libLASi project > (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); > and the Linux Brochure Project (lbproject.sf.net). > __________________________ > > Linux-powered Science > __________________________ |
From: Arjen M. <Arj...@de...> - 2016-09-13 09:29:21
|
Hi Phil, > -----Original Message----- > From: Phil Rosenberg [mailto:p.d...@gm...] > > ... > I assume this has something to do with aspect ratios of the page on the different > devices or something. But anyway, these inconsistent sizes means it isn't possible > to generate a case that exposes the bug on all devices. I think all those involved > have access to wxWidgets - please state if not - so I think this should be fine for us > to work on. > wxWidgets is not available on bare Windows. It is on Cygwin, though I have never done much with it. Regards, Arjen DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. |
From: Phil R. <p.d...@gm...> - 2016-09-13 09:33:36
|
Oh, I didn't realise you were working on Windows Arjen. I will have to spend some time sorting out a case for the SVG driver then. Unfortunately it was about 4 hours work finding a suitable test case before, but hopefully now I understand the bug better it should be faster - but it probably won't be today when I get time. Phil On 13 September 2016 at 10:29, Arjen Markus <Arj...@de...> wrote: > Hi Phil, > > > >> -----Original Message----- >> From: Phil Rosenberg [mailto:p.d...@gm...] >> >> … > >> I assume this has something to do with aspect ratios of the page on the >> different >> devices or something. But anyway, these inconsistent sizes means it isn't >> possible >> to generate a case that exposes the bug on all devices. I think all those >> involved >> have access to wxWidgets - please state if not - so I think this should be >> fine for us >> to work on. >> > wxWidgets is not available on bare Windows. It is on Cygwin, though I have > never done much with it. > > Regards, > > Arjen > > > > DISCLAIMER: This message is intended exclusively for the addressee(s) and > may contain confidential and privileged information. If you are not the > intended recipient please notify the sender immediately and destroy this > message. Unauthorized use, disclosure or copying of this message is strictly > prohibited. The foundation 'Stichting Deltares', which has its seat at > Delft, The Netherlands, Commercial Registration Number 41146461, is not > liable in any way whatsoever for consequences and/or damages resulting from > the improper, incomplete and untimely dispatch, receipt and/or content of > this e-mail. |
From: Phil R. <p.d...@gm...> - 2016-09-13 09:44:13
|
Hi Alan, Arjen On 13 September 2016 at 03:27, Alan W. Irwin <ir...@be...> wrote: > On 2016-09-12 21:39+0100 Phil Rosenberg wrote: > >>>>> I'm still of the opinion that the notcrossed function should not use >>>>> the 2 pixel fuzziness. At this point in the drawing we are dealing in >>>>> integer pixels and we need only an epsilon test I think. I think the >>>>> best fix is to change this. There are some sticking plaster solutions >>>>> that would hide the problem but not really fix it in my opinion. I >>>>> would really like to change the notcrossed function unless anyone has >>>>> some really strong objections? >>>> >>>> >>>> >>>> My opinion is this is an extraordinarily tricky topic where all the >>>> currently active fill code (i.e., the part of the code not currently >>>> removed by the C preprocessor) needs to be completely reviewed and >>>> potentially rewritten. Also, I think the fuzziness logic (with all >>>> bugs fixed in that code) should stay just in the interests of >>>> providing some tolerance for numerical rounding errors. For example, >>>> even the article <https://en.wikipedia.org/wiki/Point_in_polygon> >>>> talks of providing some numerical tolerance. Note also, such >>>> tolerance is certainly required for the integer case since minute >>>> rounding errors in the floating point calculations that decide, for >>>> example, whether a point is inside or outside a polygon can shift >>>> integer results around by +/- 1. >>>> >>>> I have a topic branch where I have already taken some substantial >>>> steps along the above ideas (including at least one bug fix in our >>>> current fuzzy logic in notcrossed). I temporarily halted work on that >>>> topic some time ago, but assuming you can provide a test example that >>>> triggers fill bugs regardless of compiler or optimization level, I >>>> plan to take up that topic again where the first order of business >>>> will be to compare (using imagemagick image differences) updated fill >>>> algorithm results versus 5.11.1 results for all our standard examples >>>> that use fill in some way. (That test should turn up any unusual fill >>>> artifacts in our examples that are generated by bugs in the original >>>> or revised fill algorithm, and once that test is implemented it should >>>> be done for any fill change from now on.) In addition, of course, I >>>> will look carefully at your example to make sure the revised fill >>>> algorithm produces the correct result for it. >>>> >>>> Assuming you are able to provide the requested example which triggers >>>> the fill bug regardless of rounding issues, and the above >>>> plan meets with your approval, I would plan to start working on this >>>> topic again just after the current release is out the door. >>>> >>>> Note also there are still a number of relatively small issues I would >>>> like to address for this release, but because of the break I mentioned >>>> above, I made little progress on those this summer so that release >>>> deadline is still indefinite and at least a month or two away. >>>> >> I agree that this is tricky, but feel this is something we can deal >> with without being too troublesome. Algorithms and code already exist >> to do this consistently - we're not the first to have to deal with it. >> In fact here is a 7 line C implementation that deals with the ray >> hitting a vertex correctly, but doesn't give any warning about if the >> point is close to or on a segment. >> >> I still don't understand why we need two whole plplot units of >> fuzziness. I understand that we round and that can give us up to two >> pixels of error. But surely we just accept that and work with the >> rounded polygons as if they were exact - in fact they are exact >> because they use integers. >> >> for example we wish to plot two rectangles which end up with internal >> coordinates of the opposite corners of (200,400.2),(600,600.4) and >> (200,600.4),(600,800.1). We round these to give (200,400),(600,600) >> and (200,600),(600,800). Now there is absolutely no count that the >> point (350,600.2) is in the second rectangle. Of course if we were >> using the original coordinates this point would have been in the first >> rectangle. But we are not plotting the original coordinates, we are >> plotting the rounded coordinates and that is what matters - the >> coordinates we are plotting. > > > We shouldn't care about 1-pixel rounding shifts in results. But we do > need to care about logic screwups caused by such shifts. Of course, > you are also demonstrating the current fuzzy logic sucks, i.e., the > cure is currently worse than the disease. But let's fix that fuzzy > logic rather than throwing it out completely. > I'm not sure what logic screw-ups can occur. We pass in all polygons in integer coordinates. Therefore when doing e.g. contoured fills we will get exact tessellation. The PNPOLY code I linked to before consistently processes so that for tessellating polygons every point, even one on a line or vertex ends up in exactly one polygon. Is this sufficient to avoid the logic screw ups you refer to? As it happens I have realised that even with non-fuzzy point-in-polygon tests this bug could still occur if the bottom left corner was exactly on a segment. Note that the test for filling the whole window is that no lines are drawable (i.e. all lines are outside the clip region) and the bottom left corner is inside the polygon. We should add a different check - that the centre of the clip region is in the polygon. I think this absolutely guarantees that the polygon encompasses the whole clip region. >> >> I would clearly like to get this fixed properly, but in the meantime >> would anyone object if I apply a sticking plaster fix for this as it >> is something I have hit about half a dozen times over the last six >> months - I presume this is because I've been plotting some really high >> resolution data. So I do really need to avoid the issue for now. > > > There is a substantial testing requirement for fill changes. The > reason for that is we have had years of mostly good user experience > with the present fill algorithm so I feel it is important that anybody > that changes the fill algorithm in any further way needs to > demonstrate with substantial testing that their change does not > introduce fill regressions. > > I have alluded previously to automated fill regression testing (for > all our standard examples that directly or indirectly use fill and all > our file devices). The core of the idea is to compare old and updated > plot file results using imagemagick image differences. Do you agree > this general approach (supplemented by actually looking at the "fill" > subset of our examples for each of our interactive devices) is the way > forward to insure that our further fill changes do not introduce more > issues than they fix? I think this is a good idea in general to avoid all sorts of regressions. Would it be easier to use the svg output and diff as the svg examples can be built on all systems? > > Assuming you like this idea, please implement it if you are in a hurry > or else wait for me to implement it post-release. Then once our fill > regression testing scheme is in place, you should test any proposed > fill change with that scheme before you merge that fill change to the > master branch. > > Of course, while waiting for one of us to implement such a fill > testing scheme, there is still the problem about what to do for the > fill problems that have recently been bugging you? I suggest you > should simply solve those issues locally in any convenient way that > you find that works for your particular needs, and circulate that > patch on this list to be referred to when we finally start working on > the definitive fix. > > |
From: Alan W. I. <ir...@be...> - 2016-09-13 21:59:27
|
On 2016-09-13 10:44+0100 Phil Rosenberg wrote: > On 13 September 2016 at 03:27, Alan W. Irwin <ir...@be...> wrote: >> There is a substantial testing requirement for fill changes. The >> reason for that is we have had years of mostly good user experience >> with the present fill algorithm so I feel it is important that anybody >> that changes the fill algorithm in any further way needs to >> demonstrate with substantial testing that their change does not >> introduce fill regressions. >> >> I have alluded previously to automated fill regression testing (for >> all our standard examples that directly or indirectly use fill and all >> our file devices). The core of the idea is to compare old and updated >> plot file results using imagemagick image differences. Do you agree >> this general approach (supplemented by actually looking at the "fill" >> subset of our examples for each of our interactive devices) is the way >> forward to insure that our further fill changes do not introduce more >> issues than they fix? > > I think this is a good idea in general to avoid all sorts of > regressions. Good. > Would it be easier to use the svg output and diff as the > svg examples can be built on all systems? Presumably you are aware of this already, but it should be mentioned that one issue with diff results is you cannot reliably compare results from two different floating-point (FP) platforms because FP errors propagate to rounded results on two such platforms in different ways. So it is essential to calculate both the old and revised fill result with exactly the same FP platform (i.e., you cannot store plot results from one FP platform to compare with plot results from other FP platforms). Another issue with using diff even for the same FP platform is any significant change in the fill code is likely to cause real differences, e.g., the effective boundaries of the filled regions will be slightly different. In fact, this is a problem for all fully automated methods I can think of to test for fill regressions; there are going to be large local changes (as boundaries change slightly) in results, but so long as the final result looks OK (i.e., no obvious holes in any fill region and no significantly overfilled regions) then the change does not count as a significant fill regression. As a result of this concern, I am now thinking along the lines of an interactive script (i.e., not completely automated so it will be tiring to use unless we are careful with the selection of what images to compare). At the heart of the script, imagemagick would calculate the normalized difference of the old and modified image results, and then simultanously display old, modified, and difference image results to help evaluate by visual means (as opposed to fully automated means) whether any significant regression has occurred. (Of course, for those cases where the normalized difference image is zero, the script could simply skip the visual comparison to speed up the comparison). I have mentioned imagemagick here because I am reasonably familiar with it, and it is one of the primary collections of software that is used on Unix to manipulate and display images. However, you should also note that imagemagick is available as a binary download on Windows (see <http://www.imagemagick.org/script/binary-releases.php>). Furthermore, even though it appears not to be specifically packaged for Cygwin such packaging has occurred for the MinGW-w64/MSYS2 platform so if the generic windows binary download does not work, there is that other Windows platform alternative to try as well. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Arjen M. <Arj...@de...> - 2016-09-16 07:08:18
|
Hi Alan, Phil, I tried Phil's example on Cygwin - PLplot as built on my installation does have a wxWidgets driver - but unfortunately that fails to run: *** PLPLOT ERROR, ABORTING OPERATION *** unknown error in plD_init_wxwidgets., aborting operation *** PLPLOT ERROR, ABORTING OPERATION *** unknown error in plD_bop_wxwidgets., aborting operation *** PLPLOT ERROR, ABORTING OPERATION *** unknown error in plD_line_wxwidgets., aborting operation ... I then tried it with other drivers, but none demonstrated the sort of problem Phil mentions (I did not quite expect that to happen, but it never hurts to try). Regards, Arjen Arjen Markus Sr. Adviseur/Onderzoeker T +31(0)88335 8559 E arj...@de... [Logo]<http://www.deltares.com/> www.deltares.com<http://www.deltares.com/> Postbus 177 2600 MH Delft [Deltares Twitter] <http://www.twitter.com/deltares> [Deltares LinkedIn]<http://www.linkedin.com/company/217430> [Deltares Facebook]<https://www.facebook.com/pages/Deltares/154189334634001> [Think before printing]Please consider the environment before printing this email > -----Original Message----- > From: Alan W. Irwin [mailto:ir...@be...] > Sent: Tuesday, September 13, 2016 11:59 PM > To: Phil Rosenberg > Cc: Arjen Markus; plp...@li... > Subject: Re: [Plplot-devel] Bug in notcrossed() function of plfill.c > > On 2016-09-13 10:44+0100 Phil Rosenberg wrote: > > > On 13 September 2016 at 03:27, Alan W. Irwin <ir...@be...> > wrote: > >> There is a substantial testing requirement for fill changes. The > >> reason for that is we have had years of mostly good user experience > >> with the present fill algorithm so I feel it is important that > >> anybody that changes the fill algorithm in any further way needs to > >> demonstrate with substantial testing that their change does not > >> introduce fill regressions. > >> > >> I have alluded previously to automated fill regression testing (for > >> all our standard examples that directly or indirectly use fill and > >> all our file devices). The core of the idea is to compare old and > >> updated plot file results using imagemagick image differences. Do > >> you agree this general approach (supplemented by actually looking at the "fill" > >> subset of our examples for each of our interactive devices) is the > >> way forward to insure that our further fill changes do not introduce > >> more issues than they fix? > > > > I think this is a good idea in general to avoid all sorts of > > regressions. > > Good. > > > Would it be easier to use the svg output and diff as the svg examples > > can be built on all systems? > > Presumably you are aware of this already, but it should be mentioned that one > issue with diff results is you cannot reliably compare results from two different > floating-point (FP) platforms because FP errors propagate to rounded results on > two such platforms in different ways. So it is essential to calculate both the old and > revised fill result with exactly the same FP platform (i.e., you cannot store plot > results from one FP platform to compare with plot results from other FP platforms). > > Another issue with using diff even for the same FP platform is any significant > change in the fill code is likely to cause real differences, e.g., the effective > boundaries of the filled regions will be slightly different. In fact, this is a problem for > all fully automated methods I can think of to test for fill regressions; there are going > to be large local changes (as boundaries change slightly) in results, but so long as > the final result looks OK (i.e., no obvious holes in any fill region and no significantly > overfilled regions) then the change does not count as a significant fill regression. > > As a result of this concern, I am now thinking along the lines of an interactive script > (i.e., not completely automated so it will be tiring to use unless we are careful with > the selection of what images to compare). At the heart of the script, imagemagick > would calculate the normalized difference of the old and modified image results, and > then simultanously display old, modified, and difference image results to help > evaluate by visual means (as opposed to fully automated means) whether any > significant regression has occurred. (Of course, for those cases where the > normalized difference image is zero, the script could simply skip the visual > comparison to speed up the comparison). > > I have mentioned imagemagick here because I am reasonably familiar with it, and it > is one of the primary collections of software that is used on Unix to manipulate and > display images. However, you should also note that imagemagick is available as a > binary download on Windows (see <http://www.imagemagick.org/script/binary- > releases.php>). > Furthermore, even though it appears not to be specifically packaged for Cygwin > such packaging has occurred for the MinGW-w64/MSYS2 platform so if the generic > windows binary download does not work, there is that other Windows platform > alternative to try as well. > > Alan > __________________________ > Alan W. Irwin > > Astronomical research affiliation with Department of Physics and Astronomy, > University of Victoria (astrowww.phys.uvic.ca). > > Programming affiliations with the FreeEOS equation-of-state implementation for > stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); > PLplot scientific plotting software package (plplot.sf.net); the libLASi project > (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux > Brochure Project (lbproject.sf.net). > __________________________ > > Linux-powered Science > __________________________ DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. |
From: Phil R. <p.d...@gm...> - 2016-09-16 14:25:20
Attachments:
98985A12321E44F591C1311DA557590D.png
|
Hi Arjen I'm just trying to reproduce your Cygwin problems, but I can't get plplot to build with wxWidgets on. Do you know if you installed wxWidgets as a package or from source? Sent from my Windows 10 phone From: Arjen Markus |
From: Arjen M. <Arj...@de...> - 2016-09-16 14:32:36
Attachments:
image003.png
|
Hi Phil, As a package, definitely. Regards, Arjen From: Phil Rosenberg [mailto:p.d...@gm...] Sent: Friday, September 16, 2016 4:25 PM To: Arjen Markus; Alan W. Irwin Cc: plp...@li... Subject: RE: [Plplot-devel] Bug in notcrossed() function of plfill.c Hi Arjen I'm just trying to reproduce your Cygwin problems, but I can't get plplot to build with wxWidgets on. Do you know if you installed wxWidgets as a package or from source? Sent from my Windows 10 phone From: Arjen Markus<mailto:Arj...@de...> Sent: 16 September 2016 08:08 To: Alan W. Irwin<mailto:ir...@be...>; Phil Rosenberg<mailto:p.d...@gm...> Cc: plp...@li...<mailto:plp...@li...> Subject: RE: [Plplot-devel] Bug in notcrossed() function of plfill.c Hi Alan, Phil, I tried Phil's example on Cygwin - PLplot as built on my installation does have a wxWidgets driver - but unfortunately that fails to run: *** PLPLOT ERROR, ABORTING OPERATION *** unknown error in plD_init_wxwidgets., aborting operation *** PLPLOT ERROR, ABORTING OPERATION *** unknown error in plD_bop_wxwidgets., aborting operation *** PLPLOT ERROR, ABORTING OPERATION *** unknown error in plD_line_wxwidgets., aborting operation ... I then tried it with other drivers, but none demonstrated the sort of problem Phil mentions (I did not quite expect that to happen, but it never hurts to try). Regards, Arjen Arjen Markus Sr. Adviseur/Onderzoeker T +31(0)88335 8559 E arj...@de...<mailto:arj...@de...> [Logo]<http://www.deltares.com/> www.deltares.com<http://www.deltares.com/> Postbus 177 2600 MH Delft <http://www.twitter.com/deltares> <http://www.linkedin.com/company/217430> <https://www.facebook.com/pages/Deltares/154189334634001> Please consider the environment before printing this email > -----Original Message----- > From: Alan W. Irwin [mailto:ir...@be...] > Sent: Tuesday, September 13, 2016 11:59 PM > To: Phil Rosenberg > Cc: Arjen Markus; plp...@li...<mailto:plp...@li...> > Subject: Re: [Plplot-devel] Bug in notcrossed() function of plfill.c > > On 2016-09-13 10:44+0100 Phil Rosenberg wrote: > > > On 13 September 2016 at 03:27, Alan W. Irwin <ir...@be...<mailto:ir...@be...>> > wrote: > >> There is a substantial testing requirement for fill changes. The > >> reason for that is we have had years of mostly good user experience > >> with the present fill algorithm so I feel it is important that > >> anybody that changes the fill algorithm in any further way needs to > >> demonstrate with substantial testing that their change does not > >> introduce fill regressions. > >> > >> I have alluded previously to automated fill regression testing (for > >> all our standard examples that directly or indirectly use fill and > >> all our file devices). The core of the idea is to compare old and > >> updated plot file results using imagemagick image differences. Do > >> you agree this general approach (supplemented by actually looking at the "fill" > >> subset of our examples for each of our interactive devices) is the > >> way forward to insure that our further fill changes do not introduce > >> more issues than they fix? > > > > I think this is a good idea in general to avoid all sorts of > > regressions. > > Good. > > > Would it be easier to use the svg output and diff as the svg examples > > can be built on all systems? > > Presumably you are aware of this already, but it should be mentioned that one > issue with diff results is you cannot reliably compare results from two different > floating-point (FP) platforms because FP errors propagate to rounded results on > two such platforms in different ways. So it is essential to calculate both the old and > revised fill result with exactly the same FP platform (i.e., you cannot store plot > results from one FP platform to compare with plot results from other FP platforms). > > Another issue with using diff even for the same FP platform is any significant > change in the fill code is likely to cause real differences, e.g., the effective > boundaries of the filled regions will be slightly different. In fact, this is a problem for > all fully automated methods I can think of to test for fill regressions; there are going > to be large local changes (as boundaries change slightly) in results, but so long as > the final result looks OK (i.e., no obvious holes in any fill region and no significantly > overfilled regions) then the change does not count as a significant fill regression. > > As a result of this concern, I am now thinking along the lines of an interactive script > (i.e., not completely automated so it will be tiring to use unless we are careful with > the selection of what images to compare). At the heart of the script, imagemagick > would calculate the normalized difference of the old and modified image results, and > then simultanously display old, modified, and difference image results to help > evaluate by visual means (as opposed to fully automated means) whether any > significant regression has occurred. (Of course, for those cases where the > normalized difference image is zero, the script could simply skip the visual > comparison to speed up the comparison). > > I have mentioned imagemagick here because I am reasonably familiar with it, and it > is one of the primary collections of software that is used on Unix to manipulate and > display images. However, you should also note that imagemagick is available as a > binary download on Windows (see <http://www.imagemagick.org/script/binary- <http://www.imagemagick.org/script/binary-%0b>> releases.php>). > Furthermore, even though it appears not to be specifically packaged for Cygwin > such packaging has occurred for the MinGW-w64/MSYS2 platform so if the generic > windows binary download does not work, there is that other Windows platform > alternative to try as well. > > Alan > __________________________ > Alan W. Irwin > > Astronomical research affiliation with Department of Physics and Astronomy, > University of Victoria (astrowww.phys.uvic.ca). > > Programming affiliations with the FreeEOS equation-of-state implementation for > stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); > PLplot scientific plotting software package (plplot.sf.net); the libLASi project > (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux > Brochure Project (lbproject.sf.net). > __________________________ > > Linux-powered Science > __________________________ DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. |
From: Phil R. <p.d...@gm...> - 2016-09-17 20:57:55
Attachments:
image003.png
|
Hi Arjen I'm just emailing to say that I have now got plplot to compile with wxWidgets support on Cygwin and I also find that it doesn't function. I will look into it once I get time. On 16 September 2016 at 15:32, Arjen Markus <Arj...@de...> wrote: > Hi Phil, > > > > As a package, definitely. > > > > Regards, > > > > Arjen > > > > > > *From:* Phil Rosenberg [mailto:p.d...@gm...] > *Sent:* Friday, September 16, 2016 4:25 PM > *To:* Arjen Markus; Alan W. Irwin > > *Cc:* plp...@li... > *Subject:* RE: [Plplot-devel] Bug in notcrossed() function of plfill.c > > > > Hi Arjen > > I'm just trying to reproduce your Cygwin problems, but I can't get plplot > to build with wxWidgets on. Do you know if you installed wxWidgets as a > package or from source? > > > > Sent from my Windows 10 phone > > > > *From: *Arjen Markus <Arj...@de...> > *Sent: *16 September 2016 08:08 > *To: *Alan W. Irwin <ir...@be...>; Phil Rosenberg > <p.d...@gm...> > *Cc: *plp...@li... > *Subject: *RE: [Plplot-devel] Bug in notcrossed() function of plfill.c > > > > Hi Alan, Phil, > > > > I tried Phil’s example on Cygwin – PLplot as built on my installation does > have a wxWidgets driver – but unfortunately that fails to run: > > > > *** PLPLOT ERROR, ABORTING OPERATION *** > > unknown error in plD_init_wxwidgets., aborting operation > > > > *** PLPLOT ERROR, ABORTING OPERATION *** > > unknown error in plD_bop_wxwidgets., aborting operation > > > > *** PLPLOT ERROR, ABORTING OPERATION *** > > unknown error in plD_line_wxwidgets., aborting operation > > … > > I then tried it with other drivers, but none demonstrated the sort of > problem Phil mentions (I did not quite expect that to happen, but it never > hurts to try). > > Regards, > > Arjen > > > > > > > > > > > *Arjen Markus* > Sr. Adviseur/Onderzoeker > > T > > +31(0)88335 8559 > > E > > arj...@de... > > > > > > [image: Logo] <http://www.deltares.com/> > > * www.deltares.com* <http://www.deltares.com/> > > Postbus 177 > 2600 MH Delft > > > <http://www.twitter.com/deltares> > > <http://www.linkedin.com/company/217430> > > <https://www.facebook.com/pages/Deltares/154189334634001> > > > Please consider the environment before printing this email > > > > > -----Original Message----- > > From: Alan W. Irwin [mailto:ir...@be... > <ir...@be...>] > > Sent: Tuesday, September 13, 2016 11:59 PM > > To: Phil Rosenberg > > Cc: Arjen Markus; plp...@li... > > Subject: Re: [Plplot-devel] Bug in notcrossed() function of plfill.c > > > > On 2016-09-13 10:44+0100 Phil Rosenberg wrote: > > > > > On 13 September 2016 at 03:27, Alan W. Irwin < > ir...@be...> > > wrote: > > >> There is a substantial testing requirement for fill changes. The > > >> reason for that is we have had years of mostly good user experience > > >> with the present fill algorithm so I feel it is important that > > >> anybody that changes the fill algorithm in any further way needs to > > >> demonstrate with substantial testing that their change does not > > >> introduce fill regressions. > > >> > > >> I have alluded previously to automated fill regression testing (for > > >> all our standard examples that directly or indirectly use fill and > > >> all our file devices). The core of the idea is to compare old and > > >> updated plot file results using imagemagick image differences. Do > > >> you agree this general approach (supplemented by actually looking at > the "fill" > > >> subset of our examples for each of our interactive devices) is the > > >> way forward to insure that our further fill changes do not introduce > > >> more issues than they fix? > > > > > > I think this is a good idea in general to avoid all sorts of > > > regressions. > > > > Good. > > > > > Would it be easier to use the svg output and diff as the svg examples > > > can be built on all systems? > > > > Presumably you are aware of this already, but it should be mentioned > that one > > issue with diff results is you cannot reliably compare results from two > different > > floating-point (FP) platforms because FP errors propagate to rounded > results on > > two such platforms in different ways. So it is essential to calculate > both the old and > > revised fill result with exactly the same FP platform (i.e., you cannot > store plot > > results from one FP platform to compare with plot results from other FP > platforms). > > > > Another issue with using diff even for the same FP platform is any > significant > > change in the fill code is likely to cause real differences, e.g., the > effective > > boundaries of the filled regions will be slightly different. In fact, > this is a problem for > > all fully automated methods I can think of to test for fill regressions; > there are going > > to be large local changes (as boundaries change slightly) in results, > but so long as > > the final result looks OK (i.e., no obvious holes in any fill region and > no significantly > > overfilled regions) then the change does not count as a significant fill > regression. > > > > As a result of this concern, I am now thinking along the lines of an > interactive script > > (i.e., not completely automated so it will be tiring to use unless we > are careful with > > the selection of what images to compare). At the heart of the script, > imagemagick > > would calculate the normalized difference of the old and modified image > results, and > > then simultanously display old, modified, and difference image results > to help > > evaluate by visual means (as opposed to fully automated means) whether > any > > significant regression has occurred. (Of course, for those cases where > the > > normalized difference image is zero, the script could simply skip the > visual > > comparison to speed up the comparison). > > > > I have mentioned imagemagick here because I am reasonably familiar with > it, and it > > is one of the primary collections of software that is used on Unix to > manipulate and > > display images. However, you should also note that imagemagick is > available as a > > binary download on Windows (see <http://www.imagemagick.org/ > script/binary- > <http://www.imagemagick.org/script/binary-%0b>> releases.php>). > > Furthermore, even though it appears not to be specifically packaged for > Cygwin > > such packaging has occurred for the MinGW-w64/MSYS2 platform so if the > generic > > windows binary download does not work, there is that other Windows > platform > > alternative to try as well. > > > > Alan > > __________________________ > > Alan W. Irwin > > > > Astronomical research affiliation with Department of Physics and > Astronomy, > > University of Victoria (astrowww.phys.uvic.ca). > > > > Programming affiliations with the FreeEOS equation-of-state > implementation for > > stellar interiors (freeeos.sf.net); the Time Ephemerides project ( > timeephem.sf.net); > > PLplot scientific plotting software package (plplot.sf.net); the > libLASi project > > (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and > the Linux > > Brochure Project (lbproject.sf.net). > > __________________________ > > > > Linux-powered Science > > __________________________ > > DISCLAIMER: This message is intended exclusively for the addressee(s) and > may contain confidential and privileged information. If you are not the > intended recipient please notify the sender immediately and destroy this > message. Unauthorized use, disclosure or copying of this message is > strictly prohibited. The foundation 'Stichting Deltares', which has its > seat at Delft, The Netherlands, Commercial Registration Number 41146461, is > not liable in any way whatsoever for consequences and/or damages resulting > from the improper, incomplete and untimely dispatch, receipt and/or content > of this e-mail. > > > DISCLAIMER: This message is intended exclusively for the addressee(s) and > may contain confidential and privileged information. If you are not the > intended recipient please notify the sender immediately and destroy this > message. Unauthorized use, disclosure or copying of this message is > strictly prohibited. The foundation 'Stichting Deltares', which has its > seat at Delft, The Netherlands, Commercial Registration Number 41146461, is > not liable in any way whatsoever for consequences and/or damages resulting > from the improper, incomplete and untimely dispatch, receipt and/or content > of this e-mail. > |
From: Arjen M. <Arj...@de...> - 2016-09-19 06:54:42
Attachments:
image001.png
|
Hi Phil, I had a quick look at the code to see what might be the cause, but the message comes from the "default" branch of a catch statement. So whatever the cause, it was not immediately clear to me ;). Regards, Arjen From: Phil Rosenberg [mailto:p.d...@gm...] Sent: Saturday, September 17, 2016 10:58 PM To: Arjen Markus Cc: Alan W. Irwin; plp...@li... Subject: Re: [Plplot-devel] Bug in notcrossed() function of plfill.c Hi Arjen I'm just emailing to say that I have now got plplot to compile with wxWidgets support on Cygwin and I also find that it doesn't function. I will look into it once I get time. On 16 September 2016 at 15:32, Arjen Markus <Arj...@de...<mailto:Arj...@de...>> wrote: Hi Phil, As a package, definitely. Regards, Arjen From: Phil Rosenberg [mailto:p.d...@gm...<mailto:p.d...@gm...>] Sent: Friday, September 16, 2016 4:25 PM To: Arjen Markus; Alan W. Irwin Cc: plp...@li...<mailto:plp...@li...> Subject: RE: [Plplot-devel] Bug in notcrossed() function of plfill.c Hi Arjen I'm just trying to reproduce your Cygwin problems, but I can't get plplot to build with wxWidgets on. Do you know if you installed wxWidgets as a package or from source? Sent from my Windows 10 phone From: Arjen Markus<mailto:Arj...@de...> Sent: 16 September 2016 08:08 To: Alan W. Irwin<mailto:ir...@be...>; Phil Rosenberg<mailto:p.d...@gm...> Cc: plp...@li...<mailto:plp...@li...> Subject: RE: [Plplot-devel] Bug in notcrossed() function of plfill.c Hi Alan, Phil, I tried Phil's example on Cygwin - PLplot as built on my installation does have a wxWidgets driver - but unfortunately that fails to run: *** PLPLOT ERROR, ABORTING OPERATION *** unknown error in plD_init_wxwidgets., aborting operation *** PLPLOT ERROR, ABORTING OPERATION *** unknown error in plD_bop_wxwidgets., aborting operation *** PLPLOT ERROR, ABORTING OPERATION *** unknown error in plD_line_wxwidgets., aborting operation ... I then tried it with other drivers, but none demonstrated the sort of problem Phil mentions (I did not quite expect that to happen, but it never hurts to try). Regards, Arjen Arjen Markus Sr. Adviseur/Onderzoeker T +31(0)88335 8559 E arj...@de...<mailto:arj...@de...> [Logo]<http://www.deltares.com/> www.deltares.com<http://www.deltares.com/> Postbus 177 2600 MH Delft <http://www.twitter.com/deltares> Please consider the environment before printing this email > -----Original Message----- > From: Alan W. Irwin [mailto:ir...@be...] > Sent: Tuesday, September 13, 2016 11:59 PM > To: Phil Rosenberg > Cc: Arjen Markus; plp...@li...<mailto:plp...@li...> > Subject: Re: [Plplot-devel] Bug in notcrossed() function of plfill.c > > On 2016-09-13 10:44+0100 Phil Rosenberg wrote: > > > On 13 September 2016 at 03:27, Alan W. Irwin <ir...@be...<mailto:ir...@be...>> > wrote: > >> There is a substantial testing requirement for fill changes. The > >> reason for that is we have had years of mostly good user experience > >> with the present fill algorithm so I feel it is important that > >> anybody that changes the fill algorithm in any further way needs to > >> demonstrate with substantial testing that their change does not > >> introduce fill regressions. > >> > >> I have alluded previously to automated fill regression testing (for > >> all our standard examples that directly or indirectly use fill and > >> all our file devices). The core of the idea is to compare old and > >> updated plot file results using imagemagick image differences. Do > >> you agree this general approach (supplemented by actually looking at the "fill" > >> subset of our examples for each of our interactive devices) is the > >> way forward to insure that our further fill changes do not introduce > >> more issues than they fix? > > > > I think this is a good idea in general to avoid all sorts of > > regressions. > > Good. > > > Would it be easier to use the svg output and diff as the svg examples > > can be built on all systems? > > Presumably you are aware of this already, but it should be mentioned that one > issue with diff results is you cannot reliably compare results from two different > floating-point (FP) platforms because FP errors propagate to rounded results on > two such platforms in different ways. So it is essential to calculate both the old and > revised fill result with exactly the same FP platform (i.e., you cannot store plot > results from one FP platform to compare with plot results from other FP platforms). > > Another issue with using diff even for the same FP platform is any significant > change in the fill code is likely to cause real differences, e.g., the effective > boundaries of the filled regions will be slightly different. In fact, this is a problem for > all fully automated methods I can think of to test for fill regressions; there are going > to be large local changes (as boundaries change slightly) in results, but so long as > the final result looks OK (i.e., no obvious holes in any fill region and no significantly > overfilled regions) then the change does not count as a significant fill regression. > > As a result of this concern, I am now thinking along the lines of an interactive script > (i.e., not completely automated so it will be tiring to use unless we are careful with > the selection of what images to compare). At the heart of the script, imagemagick > would calculate the normalized difference of the old and modified image results, and > then simultanously display old, modified, and difference image results to help > evaluate by visual means (as opposed to fully automated means) whether any > significant regression has occurred. (Of course, for those cases where the > normalized difference image is zero, the script could simply skip the visual > comparison to speed up the comparison). > > I have mentioned imagemagick here because I am reasonably familiar with it, and it > is one of the primary collections of software that is used on Unix to manipulate and > display images. However, you should also note that imagemagick is available as a > binary download on Windows (see <http://www.imagemagick.org/script/binary- <http://www.imagemagick.org/script/binary-%0b>> releases.php>). > Furthermore, even though it appears not to be specifically packaged for Cygwin > such packaging has occurred for the MinGW-w64/MSYS2 platform so if the generic > windows binary download does not work, there is that other Windows platform > alternative to try as well. > > Alan > __________________________ > Alan W. Irwin > > Astronomical research affiliation with Department of Physics and Astronomy, > University of Victoria (astrowww.phys.uvic.ca<http://astrowww.phys.uvic.ca>). > > Programming affiliations with the FreeEOS equation-of-state implementation for > stellar interiors (freeeos.sf.net<http://freeeos.sf.net>); the Time Ephemerides project (timeephem.sf.net<http://timeephem.sf.net>); > PLplot scientific plotting software package (plplot.sf.net<http://plplot.sf.net>); the libLASi project > (unifont.org/lasi<http://unifont.org/lasi>); the Loads of Linux Links project (loll.sf.net<http://loll.sf.net>); and the Linux > Brochure Project (lbproject.sf.net<http://lbproject.sf.net>). > __________________________ > > Linux-powered Science > __________________________ DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. |
From: Phil R. <p.d...@gm...> - 2016-09-18 08:29:37
Attachments:
x12c.c
image003.png
|
Hi All I have modified my the example that exposes the bug so that it works for svg. Please find attached. Phil On 17 September 2016 at 21:57, Phil Rosenberg <p.d...@gm...> wrote: > Hi Arjen > I'm just emailing to say that I have now got plplot to compile with > wxWidgets support on Cygwin and I also find that it doesn't function. I > will look into it once I get time. > > On 16 September 2016 at 15:32, Arjen Markus <Arj...@de...> > wrote: > >> Hi Phil, >> >> >> >> As a package, definitely. >> >> >> >> Regards, >> >> >> >> Arjen >> >> >> >> >> >> *From:* Phil Rosenberg [mailto:p.d...@gm...] >> *Sent:* Friday, September 16, 2016 4:25 PM >> *To:* Arjen Markus; Alan W. Irwin >> >> *Cc:* plp...@li... >> *Subject:* RE: [Plplot-devel] Bug in notcrossed() function of plfill.c >> >> >> >> Hi Arjen >> >> I'm just trying to reproduce your Cygwin problems, but I can't get plplot >> to build with wxWidgets on. Do you know if you installed wxWidgets as a >> package or from source? >> >> >> >> Sent from my Windows 10 phone >> >> >> >> *From: *Arjen Markus <Arj...@de...> >> *Sent: *16 September 2016 08:08 >> *To: *Alan W. Irwin <ir...@be...>; Phil Rosenberg >> <p.d...@gm...> >> *Cc: *plp...@li... >> *Subject: *RE: [Plplot-devel] Bug in notcrossed() function of plfill.c >> >> >> >> Hi Alan, Phil, >> >> >> >> I tried Phil’s example on Cygwin – PLplot as built on my installation >> does have a wxWidgets driver – but unfortunately that fails to run: >> >> >> >> *** PLPLOT ERROR, ABORTING OPERATION *** >> >> unknown error in plD_init_wxwidgets., aborting operation >> >> >> >> *** PLPLOT ERROR, ABORTING OPERATION *** >> >> unknown error in plD_bop_wxwidgets., aborting operation >> >> >> >> *** PLPLOT ERROR, ABORTING OPERATION *** >> >> unknown error in plD_line_wxwidgets., aborting operation >> >> … >> >> I then tried it with other drivers, but none demonstrated the sort of >> problem Phil mentions (I did not quite expect that to happen, but it never >> hurts to try). >> >> Regards, >> >> Arjen >> >> >> >> >> >> >> >> >> >> >> *Arjen Markus* >> Sr. Adviseur/Onderzoeker >> >> T >> >> +31(0)88335 8559 >> >> E >> >> arj...@de... >> >> >> >> >> >> [image: Logo] <http://www.deltares.com/> >> >> * www.deltares.com* <http://www.deltares.com/> >> >> Postbus 177 >> 2600 MH Delft >> >> >> <http://www.twitter.com/deltares> >> >> <http://www.linkedin.com/company/217430> >> >> <https://www.facebook.com/pages/Deltares/154189334634001> >> >> >> Please consider the environment before printing this email >> >> >> >> > -----Original Message----- >> > From: Alan W. Irwin [mailto:ir...@be... >> <ir...@be...>] >> > Sent: Tuesday, September 13, 2016 11:59 PM >> > To: Phil Rosenberg >> > Cc: Arjen Markus; plp...@li... >> > Subject: Re: [Plplot-devel] Bug in notcrossed() function of plfill.c >> > >> > On 2016-09-13 10:44+0100 Phil Rosenberg wrote: >> > >> > > On 13 September 2016 at 03:27, Alan W. Irwin < >> ir...@be...> >> > wrote: >> > >> There is a substantial testing requirement for fill changes. The >> > >> reason for that is we have had years of mostly good user experience >> > >> with the present fill algorithm so I feel it is important that >> > >> anybody that changes the fill algorithm in any further way needs to >> > >> demonstrate with substantial testing that their change does not >> > >> introduce fill regressions. >> > >> >> > >> I have alluded previously to automated fill regression testing (for >> > >> all our standard examples that directly or indirectly use fill and >> > >> all our file devices). The core of the idea is to compare old and >> > >> updated plot file results using imagemagick image differences. Do >> > >> you agree this general approach (supplemented by actually looking at >> the "fill" >> > >> subset of our examples for each of our interactive devices) is the >> > >> way forward to insure that our further fill changes do not introduce >> > >> more issues than they fix? >> > > >> > > I think this is a good idea in general to avoid all sorts of >> > > regressions. >> > >> > Good. >> > >> > > Would it be easier to use the svg output and diff as the svg examples >> > > can be built on all systems? >> > >> > Presumably you are aware of this already, but it should be mentioned >> that one >> > issue with diff results is you cannot reliably compare results from two >> different >> > floating-point (FP) platforms because FP errors propagate to rounded >> results on >> > two such platforms in different ways. So it is essential to calculate >> both the old and >> > revised fill result with exactly the same FP platform (i.e., you cannot >> store plot >> > results from one FP platform to compare with plot results from other FP >> platforms). >> > >> > Another issue with using diff even for the same FP platform is any >> significant >> > change in the fill code is likely to cause real differences, e.g., the >> effective >> > boundaries of the filled regions will be slightly different. In fact, >> this is a problem for >> > all fully automated methods I can think of to test for fill >> regressions; there are going >> > to be large local changes (as boundaries change slightly) in results, >> but so long as >> > the final result looks OK (i.e., no obvious holes in any fill region >> and no significantly >> > overfilled regions) then the change does not count as a significant >> fill regression. >> > >> > As a result of this concern, I am now thinking along the lines of an >> interactive script >> > (i.e., not completely automated so it will be tiring to use unless we >> are careful with >> > the selection of what images to compare). At the heart of the script, >> imagemagick >> > would calculate the normalized difference of the old and modified image >> results, and >> > then simultanously display old, modified, and difference image results >> to help >> > evaluate by visual means (as opposed to fully automated means) whether >> any >> > significant regression has occurred. (Of course, for those cases where >> the >> > normalized difference image is zero, the script could simply skip the >> visual >> > comparison to speed up the comparison). >> > >> > I have mentioned imagemagick here because I am reasonably familiar with >> it, and it >> > is one of the primary collections of software that is used on Unix to >> manipulate and >> > display images. However, you should also note that imagemagick is >> available as a >> > binary download on Windows (see <http://www.imagemagick.org/sc >> ript/binary- >> <http://www.imagemagick.org/script/binary-%0b>> releases.php>). >> > Furthermore, even though it appears not to be specifically packaged for >> Cygwin >> > such packaging has occurred for the MinGW-w64/MSYS2 platform so if the >> generic >> > windows binary download does not work, there is that other Windows >> platform >> > alternative to try as well. >> > >> > Alan >> > __________________________ >> > Alan W. Irwin >> > >> > Astronomical research affiliation with Department of Physics and >> Astronomy, >> > University of Victoria (astrowww.phys.uvic.ca). >> > >> > Programming affiliations with the FreeEOS equation-of-state >> implementation for >> > stellar interiors (freeeos.sf.net); the Time Ephemerides project ( >> timeephem.sf.net); >> > PLplot scientific plotting software package (plplot.sf.net); the >> libLASi project >> > (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); >> and the Linux >> > Brochure Project (lbproject.sf.net). >> > __________________________ >> > >> > Linux-powered Science >> > __________________________ >> >> DISCLAIMER: This message is intended exclusively for the addressee(s) and >> may contain confidential and privileged information. If you are not the >> intended recipient please notify the sender immediately and destroy this >> message. Unauthorized use, disclosure or copying of this message is >> strictly prohibited. The foundation 'Stichting Deltares', which has its >> seat at Delft, The Netherlands, Commercial Registration Number 41146461, is >> not liable in any way whatsoever for consequences and/or damages resulting >> from the improper, incomplete and untimely dispatch, receipt and/or content >> of this e-mail. >> >> >> DISCLAIMER: This message is intended exclusively for the addressee(s) and >> may contain confidential and privileged information. If you are not the >> intended recipient please notify the sender immediately and destroy this >> message. Unauthorized use, disclosure or copying of this message is >> strictly prohibited. The foundation 'Stichting Deltares', which has its >> seat at Delft, The Netherlands, Commercial Registration Number 41146461, is >> not liable in any way whatsoever for consequences and/or damages resulting >> from the improper, incomplete and untimely dispatch, receipt and/or content >> of this e-mail. >> > > |
From: Alan W. I. <ir...@be...> - 2016-09-18 14:36:44
|
Phil said: > I have modified my the example that exposes the bug so that it works for svg. Please find attached. Thanks, Phil, for this revised example which I confirm does trigger the "all-fill" bug for -dev svg here (Debian Jessie platform) as well. I have no further time to work on this before the release, but this example is what I will start with post-release. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |