Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

necked_tensile_specimen.png contains non-free color calibration profile #8034

Closed
sandrotosi opened this issue Feb 6, 2017 · 8 comments · Fixed by #8241
Closed

necked_tensile_specimen.png contains non-free color calibration profile #8034

sandrotosi opened this issue Feb 6, 2017 · 8 comments · Fixed by #8241
Milestone

Comments

@sandrotosi
Copy link
Contributor

Hello,
as reported in http://bugs.debian.org/854280, lib/matplotlib/mpl-data/sample_data/necked_tensile_specimen.png calibration code is copyrighted by Apple but no license is specified, so the "all rights reserved" means it's a non-free package, possible even totally non-distributable (ie it shouldnt be in the upstream tarball/repo at all):

$ exiftool lib/matplotlib/mpl-data/sample_data/necked_tensile_specimen.png
ExifTool Version Number         : 10.40
File Name                       : necked_tensile_specimen.png
Directory                       : lib/matplotlib/mpl-data/sample_data
File Size                       : 93 kB
File Modification Date/Time     : 2017:01:17 22:48:59-05:00
File Access Date/Time           : 2017:01:17 22:48:59-05:00
File Inode Change Date/Time     : 2017:01:17 22:48:59-05:00
File Permissions                : rw-r--r--
File Type                       : PNG
File Type Extension             : png
MIME Type                       : image/png
Image Width                     : 634
Image Height                    : 945
Bit Depth                       : 8
Color Type                      : RGB with Alpha
Compression                     : Deflate/Inflate
Filter                          : Adaptive
Interlace                       : Noninterlaced
Profile Name                    : ICC Profile
Profile CMM Type                : appl
Profile Version                 : 2.2.0
Profile Class                   : Display Device Profile
Color Space Data                : RGB
Profile Connection Space        : XYZ
Profile Date Time               : 2009:02:25 11:26:11
Profile File Signature          : acsp
Primary Platform                : Apple Computer Inc.
CMM Flags                       : Not Embedded, Independent
Device Manufacturer             : appl
Device Model                    : 
Device Attributes               : Reflective, Glossy, Positive, Color
Rendering Intent                : Perceptual
Connection Space Illuminant     : 0.9642 1 0.82491
Profile Creator                 : appl
Profile ID                      : 0
Profile Description             : Generic RGB Profile
Profile Description ML (sk-SK)  : Všeobecný RGB profil
Profile Description ML (hr-HR)  : Generički RGB profil
Profile Description ML (ca-ES)  : Perfil RGB genèric
Profile Description ML (pt-BR)  : Perfil RGB Genérico
Profile Description ML (uk-UA)  : Загальний профайл RGB
Profile Description ML (fr-FU)  : Profil générique RVB
Profile Description ML (zh-TW)  : 通用 RGB 色彩描述
Profile Description ML (it-IT)  : Profilo RGB generico
Profile Description ML (nb-NO)  : Generisk RGB-profil
Profile Description ML (ko-KR)  : 일반 RGB 프로파일
Profile Description ML (cs-CZ)  : Obecný RGB profil
Profile Description ML (he-IL)  : פרופיל RGB כללי
Profile Description ML (de-DE)  : Allgemeines RGB-Profil
Profile Description ML (hu-HU)  : Általános RGB profil
Profile Description ML (sv-SE)  : Generisk RGB-profil
Profile Description ML (zh-CN)  : 普通 RGB 描述文件
Profile Description ML (ja-JP)  : 一般 RGB プロファイル
Profile Description ML (ro-RO)  : Profil RGB generic
Profile Description ML (el-GR)  : Γενικό προφίλ RGB
Profile Description ML (pt-PO)  : Perfil RGB genérico
Profile Description ML (nl-NL)  : Algemeen RGB-profiel
Profile Description ML (es-ES)  : Perfil RGB genérico
Profile Description ML (th-TH)  : โปรไฟล์ RGB ทั่วไป
Profile Description ML (tr-TR)  : Genel RGB Profili
Profile Description ML (fi-FI)  : Yleinen RGB-profiili
Profile Description ML (pl-PL)  : Uniwersalny profil RGB
Profile Description ML (ru-RU)  : Общий профиль RGB
Profile Description ML (ar-EG)  : ملف تعريف RGB العام
Profile Description ML          : Generic RGB Profile
Profile Description ML (da-DK)  : Generel RGB-beskrivelse
Profile Copyright               : Copyright 2007 Apple Inc., all rights reserved.
Media White Point               : 0.95047 1 1.0891
Red Matrix Column               : 0.4543 0.24191 0.01489
Green Matrix Column             : 0.35335 0.67363 0.09064
Blue Matrix Column              : 0.15665 0.08446 0.71957
Red Tone Reproduction Curve     : (Binary data 14 bytes, use -b option to extract)
Chromatic Adaptation            : 1.04788 0.02292 -0.0502 0.02957 0.99049 -0.01706 -0.00923 0.01508 0.75165
Blue Tone Reproduction Curve    : (Binary data 14 bytes, use -b option to extract)
Green Tone Reproduction Curve   : (Binary data 14 bytes, use -b option to extract)
Pixels Per Unit X               : 2835
Pixels Per Unit Y               : 2835
Pixel Units                     : meters
XMP Toolkit                     : XMP Core 5.1.2
Photometric Interpretation      : RGB
Orientation                     : Horizontal (normal)
Image Size                      : 634x945
Megapixels                      : 0.599

what would be the impact (in this case for Debian, in the immediate) if we just remove that file from what we distribute in debian? something will break? how badly it would break?

thanks for considering!

@tacaswell
Copy link
Member

tacaswell commented Feb 7, 2017

attn @breedlun

Came in via #2995 I have a suspicion that the meta-data is just wrong.

@breedlun
Copy link
Contributor

breedlun commented Feb 7, 2017

Hmmm... @tacaswell could be right that the meta-data is wrong. I created that png file using paraview which is an open source visualization package, but I dunno if that means the color profile was necessarily open source.

There is nothing special about that image, though. We could replace it with just about any high rez image and still get the same point across.

@sandrotosi
Copy link
Contributor Author

please note that this is an important bug for debian (it's what we call a Release Critical bug, which is possibly held back the release of the new debian stable distribution), i am open to any resolution of this, and i'm willing to help/test as needed

@QuLogic
Copy link
Member

QuLogic commented Feb 9, 2017

You can just leave it out; it's only used in examples/images_contours_and_fields/interpolation_none_vs_nearest.py (which is currently deleted on master, although the description may return somewhere.)

@sandrotosi
Copy link
Contributor Author

thanks @QuLogic i will remove it from the tarball (and binary packages) distributed by debian, it'd be great to remove it entirely from matplotlib future releases (either 2.0.x and future 2.x) -- thanks!

@sandrotosi
Copy link
Contributor Author

sadly it was not "just remove it" as it generated:

generating thumbnails... [100%] build/plot_directive/mpl_examples/pylab_examples/agg_buffer_to_array_01.png

Warning, treated as error:
/home/morph/deb/build-area/matplotlib-2.0.0+dfsg1/doc/examples/images_contours_and_fields/interpolation_none_vs_nearest.rst:8: WARNING: Exception occurred in plotting interpolation_none_vs_nea
rest
 from /home/morph/deb/build-area/matplotlib-2.0.0+dfsg1/doc/mpl_examples/images_contours_and_fields/interpolation_none_vs_nearest.py:
Traceback (most recent call last):
  File "/home/morph/deb/build-area/matplotlib-2.0.0+dfsg1/build/lib.linux-x86_64-2.7/matplotlib/sphinxext/plot_directive.py", line 520, in run_code
    six.exec_(code, ns)
  File "/usr/lib/python2.7/dist-packages/six.py", line 699, in exec_
    exec("""exec _code_ in _globs_, _locs_""")
  File "<string>", line 1, in <module>
  File "<string>", line 19, in <module>
  File "/home/morph/deb/build-area/matplotlib-2.0.0+dfsg1/build/lib.linux-x86_64-2.7/matplotlib/cbook.py", line 833, in get_sample_data
    return open(path, mode)
IOError: [Errno 2] No such file or directory: u'/home/morph/deb/build-area/matplotlib-2.0.0+dfsg1/lib/matplotlib/mpl-data/sample_data/necked_tensile_specimen.png'

Building HTML failed.

@QuLogic
Copy link
Member

QuLogic commented Feb 15, 2017

You need to remove the example that uses it as well.

tomspur added a commit to tomspur/matplotlib that referenced this issue Mar 8, 2017
The example that used to use this image was remove already in commit 9692c31.

This closes matplotlib#8034.
@QuLogic QuLogic added this to the 2.0.1 (next bug fix release) milestone Mar 10, 2017
ibnIrshad pushed a commit to ibnIrshad/matplotlib that referenced this issue Mar 18, 2017
* Update documentation of stem

changed here: matplotlib@d68662a

* Update vlines example with axes wide lines.

* Clean up BoundaryNorm docstring

* Document what happens when ncolors > bins

* BoundaryNorm docstring clarification

* BoundaryNorm docstring formatting

* Added set_xlim and set_ylim check for non-finite limit values

* FIX: masked images with interpolation

When determining which pixels to mask in the resampled image, if _any_
contribution to final value comes from a masked pixel, mask the
result.

Due to Agg special-casing the meaning of the alpha channel,
the interpolation for the mask channel needs to be done separately.
This is probably a template for doing the over/under separately.

print out exact hash on travis

* Cleaned up invalid axis limit warning text

* FIX tick label alignment can now be specified

This patch adds two new rcParams allowing to set label alignment. The sole
reason for the existance of these new parameters is to allow user to reset the
style to before 2.0 for testing purposes. More specifically, ytick horizontal
alignement was changed in a non backward compatible way. xtick vertical
alignement was added for API consistency.

closes matplotlib#7905

* MAINT created a new private _classic_test stylesheet

This allows the public classic stylesheet to be 'more' backward compatible

* FIX small nitpicks

* Template-ize visual_tests.py.

* Pass missing variable to format string.

* Simplify dictionary access in visual_tests.py.

* PEP8 visual_tests.py.

* Sort results in visual test HTML.

This makes the result a bit more reproducable and comparable.

* Don't start a browser for visual tests on CI.

Travis may or may not have a browser installed, but AppVeyor definitely
does, so this saves a tiny bit of processing power per run.

* Move visual_tests into tools.

* Add tools directory to pep8.

* pgf: Fix invalid arguments passed to pdftocairo.

This breaks saving PNG when using the PGF backend.

Fixes matplotlib#8121.

* MAINT Backporting of matplotlib#7995.

Set sticky_edges correctly for negative height bar().

* Small docstring fixes

* merge fill_demo and fill_demo_features

* move imports below title

* Merge docstring coherent

* Plot errorbars if fmt=='none'

* Add test for fmt=='none'

* Fix small spelling mistake

* Check plotted bars are color C0

* Add cleanup to new test

* Simplify multicolored_line example

* Move multicolored_line example

* Small fixes

* Put boundarynorm example back in

* Add autoclass entry for Artist API doc.

Adding an autoclass entry in the Artist API ensures that that class
appears in the intersphinx `build/html/object.inv`, as can be checked by
```
"matplotlib.artist.Artist" in (
    sphinx.ext.intersphinx.read_inventory(
        open("build/html/objects.inv", "rb"), None, lambda *args: None)[
            "py:class"])
```
(now returns True).

This allows other projects to link to that class in their docs using
```
`Artist` <matplotlib.artist.Artist>
```

This possibility used to be present, but disappeared when the Artist API
doc got refactored.  (Other classes that appear in the API docs are fine
as they already use autoclass.)

* Merge pull request matplotlib#8171 from afvincent/typo_eventplot_docstring

DOC: Fix small typos in 'eventplot' docstring

* Fix layout of spectrum_demo.py

* Beautified spectrum_demo.py a little more.

* Added plot titles to spectrum_demo.py

* Correct theta values when drawing a non-circular ellipse

Make arcs work with units

Add api change not for elliptical notes

Add background ellipse and extra line to test

Remove pdf and svg tests for arc angles

* Fix small typo in api change

* add gitter link in README

* add a line to README that explains use of gitter

* Fixes matplotlib#8141
Validators for dashed linestyles now allow None as an allowed value along with floats through optional `allow_none` kwarg in validate_nseq_float. Other validators that use validate_nseq_float arent affected

* Replace second instance of gitter badge with a link

* TST: Enable cache directories on AppVeyor.

* Use secure links to FreeType tarballs.

* Try harder to cache FreeType tarball on Python 2.

* TST: Always delete extra cache files on Travis.

Note, we don't need to do this on AppVeyor because the cache directories
are different.

* add parameter and test

* implemented label rotation

* pep8 fix

* DOC moved autowarp_demo to sphinx-gallery compatible docstring

* DOC spines example are now sphinx-gallery compliant

* DOC all tick labels examples are now sphinx-gallery compatible

* DOC moved text_demo_fontdict to sphinx-gallery compatible docstring

* TST: skip fc-list related tests if not installed

* DOC FIX removed a blank line from an example

* DOC moving showcase examples to sphinx-gallery

* Plural of axis is axes

* add early check for dot binary (from graphviz) when building the doc

* Clarify segment array shape

* Make ginput dostring into a numpydocstring

Small fixes

Add default value for npoints

Suggested changes to ginput docstring

Better description of ginput return

Put summary line by itself at the top

Add in missing full stops

* Implement Path.intersects_bbox in C++ to speed up legend positioning.

* DOC removed/added blankspace

* DOC fixe small typos and blank lines

* DOC capitalized firefox

* renamed flag to 'rotatelabels'; fix vertical alignment

* Update spines_demo.py

* MEP12 alignment_test

* Move alignment_test example

* MEP12 and simplify ganged_plots example

* Move ganged plots example

* pep8 fix

* added headers

* added/fixed headers

* DOC removed redundant call to plt.show()

* DOC added docstring to vline-hline example.

* fix gitter badge

* Set subplot spacing to zero

* Clean up description wording

* fix rst markup

* Fix pep8 violation

* Fix example description phrasing

* Remove image with non-free color calibration profile

The example that used to use this image was remove already in commit 9692c31.

This closes matplotlib#8034.

* MAINT Backporting of matplotlib#8241: remove possible non-free image

* Ignore invisible axes in computing tight_layout.

* combining and updating 2d hist examples

* consolidating histogram examples and moving to SG folder

* Memoize parse_fontconfig_pattern; speeds up test suite by ~1min.

On my laptop this patch drops the duration of the test suite from 604s
to 554s (with the inkscape patch on as well).

* addressing small change comments

* Contouring 1x1 array (issue 8197)

* another attempt; add a test

* Set __name__ for list validators in rcsetup.

This avoids having many validators all named `f`, which makes profiling
a bit difficult (it appears that repeated validation of rcparams when
resetting the style at the beginning of each test instance contributes
quite a bit to the total test time).  Instead, the list validator
based on scalar validator function `validate_foo` is now `__name__`d
`validate_foolist`, and the list validator based on scalar validator
class `ValidateFoo` is now `__name__`d `ValidateFooList`.

* TST: fail on missing baseline file

* re-add conditional check.

* DOC moved spines examples sphinx-gallery

* Use sys.executable -msphinx instead of sphinx-build.

* More robust type checking in '_validate_linestyle', on both Py2 and Py3

* tests now depend on python version to check cases with bytes args

* DOC changes in travis's build environment

* DOC removed duplicate appveyor py3.5 environment

* CI: travis runs documentation build and mac osx only on merge with master

* MAINT remove py.test from our travis build

* FIX appveyor doesn't need option USE_PYTEST anymore

* append test images.

* removed obsolete license.py file

* DOC moved changelog to the documentation

* DOC fix broken links

* MAINT moved some maintenance and helper python scripts to tools/

* FIX path in boilerplate.py

* Small header comment fixes

* Removes OldScalarFormatter

* Renaming file to scalarformatter_demo.py

* Renaming to plot_scalarformatter.py

* Adds title and description

* changing name in backend_driver.py

* Inkscape shell mode.

* Fix minimum sphinx version in doc-requirements.txt.

* Correcting typos and moving file to ticks and spines

* STY: fix whitespace in the tests

* Remove executable bit from examples and headers.

The vast majority of examples do not have the executable bit set, so
just make everything consistent.

Also remove `#!/usr/bin/env python` where appropriate.

* DOC shapes and collections is fully SG compatible

* Use neutral pronoun in docs.
@sandrotosi
Copy link
Contributor Author

thanks all!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants