View Source

| *Title* | _The name of the solution. This should match the title of this page_ \\
Identify Files Affected by Truncated/Fuzzy JPEG2000 \\ |
| *Detailed description* | _A detailed description of the Solution. Feel free to include links to further information (eg. OPF blog posts\!). Note that a Solution is a specific digital preservation application of a software tool or tools. It might for example be a scripted tool, or a myExperiment workflow_ \\
Initially it was felt that the structure of the J2 files would be deficient in some way.  Johan van Der Knijff has developed a python tool to do a simple top level check of J2 structure, which checks for the existence of all top level J2 boxes and if the main end marker is in the right place. \\
\\
*j2structCheck across 8 images (4 assumed good, 4 known bad)* \\
j2structCheck found 1 image with a problem (a true positive) \\
\\
*evidence from j2 filesize (the same 8 images, plus some easy to find known worse)* \\
Each j2 for a particular newpaper set should have a comparable filesize (i.e. for two of the sets, approx 20Mb and 17Mb respectively) \\
Files ( \-lt ) 1Mb are definitely affected by truncation (and would also be identified by j2structCheck) \\
Files ( \-lt ) 1/2 average j2 filesize are likely to exhibit problems \\
\\
*evidence from original tif (converted to j2)* \\
if the tifs are available, there should be a one-to-one match of tiff to j2 \\
if the count of tiffs ( - ne ) ( not= ) count of j2 (most likely case is j2 cnt ( - lt ) tif cnt) \\
the j2 cnt should be even - except for rare circumstances where both sides have not been digitised \\
j2 cnt is very likely to be a multiple of 4 \\
\\
*potential enhancements to j2structCheck* \\
use a known bad file (such as the Belfast Newsletter 5Mb j2) and analyse the whole structure rather than the top level \\
see if there are any truncated markers or strange structure things (compared to an assumed good) \\
XnView refused to open any of the j2 files that were in the known bad set, but opened all of the assumed goods - so there has to be a structural difference that differentiates them for this tool. (XnView is built on jj2000, not clear how open source it is (although jad may reveal what is going on too)) \\ |
| *Solution Champion* | _Who owns the Solution? Include an email address if possible_ \\
[~libdms] |
| *Corresponding Issue(s)* | _A bulletted list of links to Issues to which this provides a Solution_ \\
[REQ:Truncated JPEG2000]\\ |
| *Tool/code link* | [JP2 file structure checker|https://github.com/bitsgalore/jp2StructCheck] |
| *[Tool Registry Link|http://wiki.opf-labs.org/display/TR/Home]* | _If possible provide a link to information about any third party tools used. Ideally these should point to entries in the OPF Tool Registry_ \\
Johan van Der Knijff - j2structCheck.py \\
Johan's blog post about the JP2 file structure checker:[http://openplanetsfoundation.org/blogs/2011-09-01-simple-jp2-file-structure-checker]\\
Tool registry link: [TR:jp2StructCheck]\\ |
| *Evaluation* | _Any notes or links on how the solution performed_ |