Why this kind of edge detect code gives different outputs with Mathematica 9.0, 10.4 and 11.2


I have often noticed that examples of the past when done in newer versions of Mathematica generate inconsistent results. A prime example related to the following post (Character edge finding):

pic = Thinning@Binarize[GradientFilter[Rasterize[Style["\[Euro]", 
FontFamily -> "Times"], ImageSize -> 200] // Image, 1]];

pdata = Position[ImageData[pic], 1];

lcp = ListCurvePathPlot[pdata];

Mathematica 9.0 (best result)

enter image description here

Mathematica 10.4 (discontinuities exist)

enter image description here

Mathematica 11.2 (disconnected lines are visible)

enter image description here

Obviously I know how to get results like that of version 9.0 in 11.2. But my question is simple: Why do some of the Mathematica functions with default options behave differently between newer and older versions ?

I am quite annoyed at WRI for these odd behaviours !

Ali Hashmi

Posted 2017-12-09T19:23:27.150

Reputation: 8 448

Question was closed 2017-12-11T18:22:08.593

Have you figured out which functions have changed? Which default options are involved? – bill s – 2017-12-09T23:15:08.407

No answers