slideThumb - swvanderlaan/slideToolKit GitHub Wiki
slideThumb
provides a command-line interface for extracting and optionally displaying thumbnails from whole-slide images. Users can customize various parameters, and the script includes helpful information about image properties and licensing. The thumbnail extraction is using ImageMagick
(bash
-version) or based on the OpenSlide
library (python
-version), and the script is designed to be flexible for different use cases.
Two versions are available:
- This is a
bash
implementation. - This is a
python3
implementation which is much faster than thebash
version.
The bash
version relies on external commands like convert
and tiffinfo
(part of the ImageMagick toolkit) and Perl
.
Argument(s):
-
-f, --file <filename>
- Specify the virtual slide file from which to extract the thumbnail.
Optional argument(s):
-
-l, --layer <integer>
- Force a specific layer by layer id.
-
--suffix <text>
- Specify a suffix to be appended to the filename for the output thumbnail. Default is ".thumb".
-
--extension <text>
- Specify the output extension for the thumbnail. Default is "png".
-
--output-dir <path>
- Specify the path to the output directory. Default is "." (relative to the input file).
-
--resize <widthxheight>
- Specify the maximum output dimensions for the thumbnail. Default is "1024x1024".
-
--convert-args='<arguments>'
- Specify additional arguments for the
convert
command (equal sign and quotes are required).
- Specify additional arguments for the
-
--ignore-dependencies
- Ignore missing dependencies and continue with a warning.
-
--help
- Display help information.
-
--version
- Display version and license information.
Examples:
- Example 1: Basic usage
./slideThumb -f "file.svs"
- Example 2: Specify layer and custom suffix and extension
./slideThumb --layer=5 --suffix=".suffix" --extension="jpg" "file.tif"
Print a job list for parallel processing:
find "$(pwd)" -iname "*.TIF" -exec "$(command -v "$SCRIPTNAME")" -f "{}" \;
Print a job list for 'SLURM' (if using a queueing system):
for i in $(find ./ -iname "*tif"); do
j="$(echo "$(cd "$(dirname "$i")"; pwd)"/"$(basename "$i")")";
echo "sbatch $DEFAULT_SLURMARGS" "$(command -v "$SCRIPTNAME")" --file="${j}"
done
Example usage:
python slideThumb.py --input AE1234.SR.ndpi
Argument(s):
-
-i
,--input
- Provide a single WSI or list of WSIs. Required.
Optional argument(s):
-
-d
,--display
- Also show Thumbnail on display, default simply writes thumbnails. Optional.
-
-o
,--outdir
- Output dir, default is present working directory. Optional.
-
-s
,--suffix
- Suffix to append to end of file, default is 'thumb' for thumbnail. Optional.
-
-t
,--type
- Output file type, default is png (which is slower), other options are tif. Optional.
-
-f
,--force
- Force output even if it exists. Optional.
-
-v
,--verbose
- While writing images also display image properties. Optional.
-
-h
,--help
- Show this help message and exit. Optional.