-
-
Notifications
You must be signed in to change notification settings - Fork 851
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
Color conversion with ICC profiles #1567
Draft
JimBobSquarePants
wants to merge
94
commits into
main
Choose a base branch
from
icc-color-conversion
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 1 commit
Commits
Show all changes
94 commits
Select commit
Hold shift + click to select a range
16179b3
Copy original PR changes.
JimBobSquarePants eeb40f5
Merge branch 'master' into icc-color-conversion
JimBobSquarePants 8b96d37
Merge branch 'master' into icc-color-conversion
JimBobSquarePants aa2f1e9
Merge branch 'master' into icc-color-conversion
JimBobSquarePants 3debb26
Merge branch 'master' into icc-color-conversion
brianpopow 0812085
Fix warnings
brianpopow 1094dc6
Add color conversion trait to be able to filter for those tests
brianpopow 759f053
Fix failing MatrixCalculator test
brianpopow 4cde4ef
Merge branch 'master' into icc-color-conversion
JimBobSquarePants a973713
Merge branch 'master' into icc-color-conversion
JimBobSquarePants 33339d0
Merge branch 'master' into icc-color-conversion
JimBobSquarePants cdb495c
Merge branch 'master' into icc-color-conversion
JimBobSquarePants 5f7acc1
Merge remote-tracking branch 'origin/main' into icc-color-conversion
brianpopow 7e2bc20
Merge branch 'main' into icc-color-conversion
JimBobSquarePants dc166a7
Fix build
JimBobSquarePants dcc8147
Cleanup icc tests
brianpopow 73c8d8f
Fix Copyright notice
brianpopow d229fed
Fix icc namespaces
brianpopow 0a08da0
Use file scoped namespaces
brianpopow daf366b
Cleanup and add conversion tests
JimBobSquarePants 54856ff
Fix reader and out of range exception
JimBobSquarePants eee14c6
Remove invalid test.
JimBobSquarePants f60d4b8
Merge branch 'main' into icc-color-conversion
JimBobSquarePants 8de137e
Cleanup code style
JimBobSquarePants fb8003c
Remove double clamping
JimBobSquarePants 9f0f9cb
Optimize matrix read/write
JimBobSquarePants ece11eb
Create ColorProfileHandling.cs
JimBobSquarePants bd7257b
Merge branch 'main' into icc-color-conversion
JimBobSquarePants 9a21485
Nullable disable
JimBobSquarePants ba76964
Merge branch 'main' into icc-color-conversion
JimBobSquarePants 98d1758
Merge branch 'main' into icc-color-conversion
JimBobSquarePants 66554cb
Add ability to convert ICC profile on decode
JimBobSquarePants e90f165
Merge branch 'main' into icc-color-conversion
JimBobSquarePants 8c580a7
Handle nullability in decoder base
JimBobSquarePants a81dac9
Add reference files.
JimBobSquarePants 902ed99
Add tolerance for Mac
JimBobSquarePants e3aa452
Merge branch 'main' into icc-color-conversion
JimBobSquarePants 0dd68fe
Merge branch 'main' into icc-color-conversion
JimBobSquarePants 6e3dc81
Update decoder bases following merge
JimBobSquarePants b7833a4
Merge branch 'main' into icc-color-conversion
JimBobSquarePants c3984aa
Add failing tests
JimBobSquarePants 0fff06d
Port 1d, 2d, 3d, 4d and nd interpolation from reference implementation
brianpopow f1c05ee
Remove not used IccClut constructors
brianpopow 3be31c3
Preserve alpha component
JimBobSquarePants 6c2ee90
Fix CieLab docs
JimBobSquarePants 20e9b7f
Fix out of bounds error
brianpopow d6fbc01
Change clut values from jagged array to flat array
brianpopow 67ed4ce
Fix warnings
brianpopow b036cc3
Fix mistake reading the clut values
brianpopow 52f88c8
Fix oob in n-dimension calculator.
JimBobSquarePants ed47678
Add Lab<=>Xyz conversion
JimBobSquarePants 10bea86
Add ICC reader tests
brianpopow 5b131ad
Add reference output for issue-129
brianpopow ed8091b
Merge branch 'main' into icc-color-conversion
JimBobSquarePants 6225db3
Merge branch 'main' into icc-color-conversion
JimBobSquarePants a65c599
Merge branch 'main' into icc-color-conversion
JimBobSquarePants 60f3d9d
Merge branch 'main' into icc-color-conversion
JimBobSquarePants c940b86
Merge branch 'main' into icc-color-conversion
JimBobSquarePants a567613
Merge branch 'main' into icc-color-conversion
JimBobSquarePants 3e06687
Update IccReader.cs
JimBobSquarePants c1ebbfe
Fix build
JimBobSquarePants d89d8c5
Update IccReader.cs
JimBobSquarePants 63c89ca
Use scaled Vector4 conversion and optimize
JimBobSquarePants 3389d7a
Add some debugging helpers to the converter
JimBobSquarePants 7b0ff3b
Merge branch 'main' into icc-color-conversion
JimBobSquarePants 29ed2b4
Merge branch 'main' into icc-color-conversion
JimBobSquarePants 5f975e5
Update to latest main build
JimBobSquarePants 79f5dfa
Update IccProfileConverterTests.cs
JimBobSquarePants b88b2a9
Merge branch 'main' into icc-color-conversion
JimBobSquarePants bca4cad
Merge branch 'main' into icc-color-conversion
JimBobSquarePants 6e2c29c
Merge branch 'main' into icc-color-conversion
JimBobSquarePants 5b374da
Fix IccClut test setup and calculator guards
JimBobSquarePants 441f07e
Update ColorProfileConverter to handle ICCProfiles
JimBobSquarePants 6654218
Suppress warning
JimBobSquarePants 21fec4e
Demonstrate ICC conversion comparison to Unicolour
waacton fd2e8a9
Migrate tests
JimBobSquarePants 19ff69d
Add ICC files to LFS
JimBobSquarePants 3cd7d67
Update TestIccProfiles.cs
JimBobSquarePants 0327dca
Adjust PCS values for v2 profiles using perceptual intent
waacton 9de3935
Remove TODO
waacton 8e92f20
Fix XYZ PCS conversions
waacton 312b55e
Cleanup
JimBobSquarePants 44aae40
Merge branch 'main' into icc-color-conversion
JimBobSquarePants df3d230
Extract conversion for v2 perceptual intent
waacton d20fddb
Precalculate v2 perceptual PCS adjustment
waacton d60ac76
Bypass PCS adjustment when not needed
waacton cfa2760
Add failing tests for CMYK to RGB using Matrix TRC
waacton 369bf5f
Fix CMYK to RGB using TRCs
waacton 7d4a742
Add RGB to CMYK tests and fix TRC calculator
waacton f4e9509
Handle tests in cases where PCS adjustment is bypassed
waacton 9ceed23
Fix expected values of CLUT unit tests
waacton f21c0c2
Fix LUT entry calculator for XYZ PCS with non-identity matrix
waacton f147aad
Minor cleanup
JimBobSquarePants 7492109
Merge branch 'main' into icc-color-conversion
JimBobSquarePants File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I reproduced the failing tests in the Unicolour codebase - which uses a custom CLUT implementation, not a port of DemoIccMAX - and updated the expected values accordingly. ImageSharp's CLUT produces the same results.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's fantastic news!