Comments (6)
Another opensource implementation, which is written in Matlab, is:
https://github.com/osamu620/MatHTJ2K
I will add a fork of this to me repositories.
from openjph.
Hi Aaron,
All is good; thank you for asking. I hope you are well.
I will do that before next week. I am happy to help with this.
I think one thing that is not very clear in the standard is the following:
If we represent wavelet coefficient by μ for the magnitude and and s for the sign, where s is either 0 (for positive) or 1 (for negative); then, the encoder encodes 2 (μ - 1) + s values. I hope this helps.
Cheers,
Aous.
from openjph.
Hi Aaron,
All is good; thank you for asking. I hope you are well.
I will do that before next week. I am happy to help with this.
I think one thing that is not very clear in the standard is the following:
If we represent wavelet coefficient by μ for the magnitude and and s for the sign, where s is either 0 (for positive) or 1 (for negative); then, the encoder encodes 2 (μ - 1) + s values. I hope this helps.Cheers,
Aous.
All good here, thanks, Aous.
Any guidance you can add to the code would be a great help.
Aaron
from openjph.
Hi Aaron,
I managed to document the decoder. Unfortunately I could not document the encoder as well; I am hoping to get this one by the end of this week (1st of Nov).
I am including the decoder here for your reference; I had to change the extension to .txt in order to upload it. I will commit it with the rest of the code with my new release.
It was good to document that the code since this helped me uncover potential issues. If there any issues I will address them in a future commit.
I am in the process of developing a test for my library; this is currently in my development branch. This is needed because I made a lot of changes in my code in the process of reducing sign-unsigned warnings.
Cheers,
Aous.
from openjph.
Fantastic! Thank you very much. I also find that documenting an algorithm helps improve the code itself when I think about possible edge cases. But it needs enough time and the right frame of mind to do it.
I'm glad to hear about the test framework, then you can refactor the code with peace of mind that you aren't breaking things. I would also recommend applying to oss-fuzz, particularly for the decoder, as it will uncover bugs.
from openjph.
Thanks, going to close this now.
from openjph.
Related Issues (20)
- typo in CMakeLists.txt HOT 1
- ojph_compress support for uppercase file extensions HOT 1
- signed 16bit negative values mismatch in interoperablity test between openjph and kakadu HOT 2
- Incorrect COM marker length HOT 1
- openjph decompression fails HOT 2
- Question : what format to be used to decompress the color HTJ2K compressed imaging data HOT 6
- Build should not fail if SIMD optimizations are enabled and your CPU doesn't support them HOT 2
- Feature: Support ROI based rendering HOT 1
- Sample JPH images, please HOT 5
- Unable to build using MinGW HOT 3
- Apple silicon build error HOT 5
- Support decode/expand a j2c file with just tilepart bytes HOT 2
- Tests fails to pass in version 0.10.4 HOT 2
- Specifying non-standard binary and library directories complicates integration in other projects HOT 1
- Feature Request: Add support for vcpkg HOT 1
- Encode 115x25的YUV444 picture,There is serious distortion. HOT 4
- Automated Testing Improvements HOT 1
- Remove xcode specific files HOT 1
- The block coder should be usable without pulling in the rest of OpenJPH HOT 6
- Removing the ojph_ prefix. HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openjph.