Read and transform LJPEG images
Project description
ljpeg
Read and transform LJPEG images into modern formats.
Warning: You must have installed flex on your operating system.
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
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.
Getting started
Download a set of mammograms with:
wget -q ftp://figment.csee.usf.edu:21/pub/DDSM/cases/normals/normal_08/case4606/ && cat index.html | grep -oP '"ftp.*"' | sed s/\"//g | parallel wget
Transform a lot of mammograms parallely:
find "$(pwd)" -type f -name '*.LJPEG' | parallel -j+0 "ljpeg {} $(pwd)/{/.}.tiff --verify"
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.