Skip to main content

Read and transform LJPEG images

Project description

ReadTheDocs Project generated with PyScaffold

ljpeg

Read and transform LJPEG images into modern formats.

Installation

Warning: You must have installed the flex parser on your operating system:

pip install ljpeg

By default, we offer you a binary called jpeg_static. However, you can produce your jpeg binary:

cd jpegdir && make

Getting started

Download a set of mammograms with:

wget -r -q ftp://figment.csee.usf.edu:21/pub/DDSM/cases/normals/normal_08/case4606/

Transform a lot of mammograms parallely:

find . -type f -name '*.LJPEG' | parallel -j+0 "ljpeg {} $(pwd)/{/.}.tiff --verify"

Convert to TIFF (requires the .ics file in the same directory as LJPEG):

ljpeg $(pwd)/C_0029_1.LEFT_CC.LJPEG $(pwd)/output.tiff

Convert to TIFF and verify that no information has been lost:

ljpeg $(pwd)/C_0029_1.LEFT_CC.LJPEG $(pwd)/output.tiff --verify

Convert to jpeg for visualization with down-sizing scale=0.3 (16-bit TIFF is not good for direct visualization):

ljpeg $(pwd)/C_0029_1.LEFT_CC.LJPEG $(pwd)/output.jpg --visual --scale 0.3

Convert to TIFF and map gray levels to optical density level:

ljpeg $(pwd)/C_0029_1.LEFT_CC.LJPEG $(pwd)/output.jpg --od-correct

Note that output file can be any format that’s supported by OpenCV (which includes all common types). Most file formats only support 8-bit images, so directly saving into such file formats will cause problems. Add “–visual” to normalize color into 8-bit before saving to such file formats.

The Stanford ljpeg code is in public domain and is therefore OK to be included here. I did minor modification to make the code compile under modern Linux.

Making Changes & Contributing

This project uses pre-commit, please make sure to install it before making any changes:

pip install pre-commit
cd demo-project
pre-commit install

It is a good idea to update the hooks to the latest version:

pre-commit autoupdate

Don’t forget to tell your contributors to also install and use pre-commit.

Note

This project has been set up using PyScaffold 4.2.2.post1.dev3+g01e6e81. For details and usage information on PyScaffold see https://pyscaffold.org/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ljpeg-3.7.0.tar.gz (630.5 kB view details)

Uploaded Source

Built Distribution

ljpeg-3.7.0-py3-none-any.whl (628.2 kB view details)

Uploaded Python 3

File details

Details for the file ljpeg-3.7.0.tar.gz.

File metadata

  • Download URL: ljpeg-3.7.0.tar.gz
  • Upload date:
  • Size: 630.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for ljpeg-3.7.0.tar.gz
Algorithm Hash digest
SHA256 b24609c3a39387d48609e37fd18ddcef9948c332371a6164ee16de8b60a68f27
MD5 f062f092466b3e2022910ee9b6ed45b5
BLAKE2b-256 0409ef0c1303575c165cdb2748fbc85447b41ed6531be284c52378cdcee3f8e1

See more details on using hashes here.

File details

Details for the file ljpeg-3.7.0-py3-none-any.whl.

File metadata

  • Download URL: ljpeg-3.7.0-py3-none-any.whl
  • Upload date:
  • Size: 628.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for ljpeg-3.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc351e702a2513a00fd8cd7b2151396d2c2926627d7e3fc012115a9663e876df
MD5 2869226124ab1f753381320f827f6e6a
BLAKE2b-256 ce4ec43b05fba381510f3586aab6d62e99174719fcec52797f67c02461bbc62a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page