Git Product home page Git Product logo

icc-examin's Introduction

ICC Examin README

ICC Examin (unix name: iccexamin) is a viewer for the internals of a ICC profile, measurement data (CGATS), argylls gamut vrml visualisations and video card gamma tables.

The Home Page provides more information.

icc-examin's People

Contributors

a17r avatar amdmi3 avatar beku avatar bmanojlovic avatar bsamorodov avatar dimstar77 avatar kwizart avatar ltgustavsen avatar madanyang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

kaiser34 a17r

icc-examin's Issues

Clang-4.0 error: ordered comparison between pointer and zero ('char *' and 'int')

Hi, All!

Development version of FreeBSD switched to clang version 4.0. Compiling ICC Examin show errors:

/wrkdirs/usr/ports/graphics/iccexamin/work/icc_examin-0.55/icc_profile_tags.cpp:352:28: error: ordered comparison between pointer and zero ('char *' and 'int')
    while (strchr(txt, 13) > 0) { // \r 013 0x0d
           ~~~~~~~~~~~~~~~ ^ ~
/wrkdirs/usr/ports/graphics/iccexamin/work/icc_examin-0.55/icc_profile_tags.cpp:357:15: error: ordered comparison between pointer and zero ('char *' and 'int')
      if (pos > 0) {
          ~~~ ^ ~

The attached patch eliminates this.
patch-icc_profile_tags.cpp.txt

Softproof w/ perceptual intent moves all pixels to zero

(moved from SF Milan Knizek)

When the perceptual intent in menu /View/Intent is chosen, then Watch Colors 3D plugin (ICC Examin) shows that all image pixels move to zero of LAB space instead of to the boundaries of the proof colour space. When relative colorimetric is chosen, Watch Colors 3D works as expected.

The problem can be reproduced on Arch Linux (x86_64) and only with Czech locale. When LANG=C is set, the icc_examin_cp plugin crashes and GUI disappears instead.

Steps to reproduce:
0. Set LANG="cs_CZ.UTF-8" (check locale -a to see if it exists).

  1. Open image in CinéPaint, activate color management (with or without Oyranos), choose some soft proof profile.
  2. Set Perceptual as intent
  3. Open Watch colors 3D plugin (image pixels are shown as spots)
  4. Choose /View/Proof Display -> all spots move to zero point of LAB.

The attached image illustrates the matter.

Oyranos, CinéPaint, ICC Examin are compiled from GIT using the build scripts on www.oyranos.org.
When the programs are compiled on Ubuntu 12.04 LTS, the bug does not appear.

Attached is valgrind output for the Czech locale. (i.e. no crash) and for LANG=C as well.

Anything else to help with debugging?

See attachements on http://sourceforge.net/p/oyranos/bugs/41/

icc_examin interface changes

  1. The profile black points are shown as x=0, y=0. But X=Y=Z=0 doesn't mean x=y=0: http://www.brucelindbloom.com/index.html?Eqn_XYZ_to_xyY.html
    "Watch out for black, where X = Y = Z = 0. In that case, you may want to set x and y to the chromaticity coordinates of your reference white."

    For white point 0.964203, 1.000000, 0.824905:
    x= 0.964203/(0.964203+1.000000+0.824905)=0.964203/2.789108=0.345703
    y= 1.000000/(0.964203+1.000000+0.824905)=1.000000/2.789108=0.358537

    I seem to recall seeing x=y=0.333333 as the chromaticity coordinates for black in old V2 matrix profiles.

  2. Red Colorant, Blue Colorant, and Green Colorant in the top pane, when clicked, all show exactly the same information, the red, blue, and green XYZ primaries and the xy points on the xy graph. Why not just have "Colorants" instead of three separate entries for the same information display?

  3. Red tone reproduction curve, Green tone reproduction curve, and Blue tone reproduction curve in the top pane, when clicked, all show exactly the same information, all three curves at once. Why not just have "Tone reproduction curves" instead of three separate entries for the same information display?

  4. I would very much like to see the xyY coordinates as well as the XYZ coordinates.

  5. The Colorant display is too small for displaying information for larger color spaces such as the Identity color space and the ACES color space, both of which use green chromaticity of x=0,y=1. The ACES color space has a negative blue y coordinate, and so is crushed and the blue dot isn't on the graph. The Colorant display for Widegamut Green is overwritten/crushed. The solution is to let the xy chromaticities diagram be a little larger, extend to a little past +1 on the positive y-axis. For the negative y-axis, down to -0.1 on the y axis accomodates ACES. Camera input matrix profiles can go even more negative for blue XYZ. My own camera has: bXYZ=0.056061, -0.204941, 0.989136

  6. The chrm Chromaticity information is similarly crushed for the larger color spaces, with information being overwritten by other information. A larger chromaticity diagram would help here, too.

  7. Without asking permission, opening an ICC profile with icc_examin automatically creates and writes a profileID tag. Perhaps this should be configurable? Is it already configurable? I don't like seeing my ICC profiles written to without permission. Although I do agree a profileID is a nice tag to have.

  8. The very nice gamut display that I remember seeing is just a mass of jumbled gray and black dots. If I resize the screen, the jumble changes color. The terminal output is:
    iccexamin
    region not found in 0
    X_ChangeProperty: BadAtom (invalid Atom parameter) 0x0

  9. There doesn't seem to be provision for copying values from the iccexamin interface.

Build fails without -fpermissive

[ 35%] Building CXX object CMakeFiles/iccexamin.dir/icc_examin.cpp.o /usr/bin/x86_64-pc-linux-gnu-g++ -I/var/tmp/portage/media-gfx/icc_examin-0.56_p20171007/work/icc-examin-0.56_p20171007 -I/var/tmp/portage/media-gfx/icc_examin-0.56_p20171007/work/icc-examin-0.56_p20171007/FL -I/var/tmp/portage/media-gfx/icc_examin-0.56_p20171007/work/icc-examin-0.56_p20171007/Flmm -I/var/tmp/portage/media-gfx/icc_examin-0.56_p20171007/work/icc_examin-0.56_p20171007_build -I/usr/include/oyranos -I/usr/include/fltk -I/usr/include/freetype2 -DNDEBUG -O2 -march=amdfam10 -pipe -fomit-frame-pointer -floop-interchange -floop-strip-mine -floop-block -o CMakeFiles/iccexamin.dir/icc_examin.cpp.o -c /var/tmp/portage/media-gfx/icc_examin-0.56_p20171007/work/icc-examin-0.56_p20171007/icc_examin.cpp /var/tmp/portage/media-gfx/icc_examin-0.56_p20171007/work/icc-examin-0.56_p20171007/icc_examin.cpp: In constructor ‘ICCexamin::ICCexamin()’: /var/tmp/portage/media-gfx/icc_examin-0.56_p20171007/work/icc-examin-0.56_p20171007/icc_examin.cpp:220:36: error: invalid conversion from ‘int (*)(int, const void*, const char*, ...)’ to ‘oyMessage_f {aka int (*)(int, void*, const char*, ...)}’ [-fpermissive] oyMessageFuncSet( iccMessageFunc );

See also build.log: https://gist.github.com/a17r/36b97e8ee91280c597ffc3af29d04c09

icc-examin 0.5.6 does not build at FreeBSD

I get the error:

Compiling fl_i18n_example.cxx ...
c++ -Wall -g  -L. -Wunused -fno-exceptions -DUSE_THREADS -DUSE_GETTEXT -I/usr/local/include -I.  -I/usr/include/g++ -I/usr/include -I/usr/local/include -I/usr/local/include/freetype2 -O2 -pipe -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -fvisibility-inlines-hidden -I/usr/local/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -c fl_i18n_example.cxx
c++: warning: argument unused during compilation: '-L.' [-Wunused-command-line-argument]
In file included from fl_i18n_example.cxx:3:
./fl_i18n.H:34:10: fatal error: 'config.h' file not found
#include "config.h"
         ^~~~~~~~~~
1 error generated.
*** Error code 1

Full log is here
https://poudriere.passap.ru/data/HEAD-amd64-testing/2017-08-03_12h24m00s/logs/errors/icc-examin-0.56.log

If I apply the following patch, then build succeeds:

--- fl_i18n/fl_i18n.H.orig      2017-08-03 12:43:05.703182000 +0300
+++ fl_i18n/fl_i18n.H   2017-08-03 12:43:23.617338000 +0300
@@ -31,7 +31,7 @@
 #ifndef FL_I18N_H
 #define FL_I18N_H
 
-#include "config.h"
+#include "../config.h"
 #define FL_I18N_VERSION 101
 
 #if defined(_WIN32) && !defined(__MINGW32__)

Full log is here: https://poudriere.passap.ru/data/HEAD-amd64-testing/2017-08-03_13h17m26s/logs/icc-examin-0.56.log

This is just FYI. I'm not sure what to do with this knowledge. ;-)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.