Have ideas to improve npm?Join in the discussion! »

    itk-image-pad-resample

    1.1.6 • Public • Published

    itk-image-pad-resample

    Resample virtually any type of image 2D, 3D with 1 or multiple components.

    NPM JavaScript Style Guide

    Install

    Install with the flag '-g' and use it in the command line.

    npm install itk-image-pad-resample -g

    Usage in the command line

    img-pad-resample --help
    Help: Resample an image to a specific size.
    Required:
    --img <input path to image> or --dir <directory>
    --size <sizeX,sizeY,sizeZ>
    
    Optional:
    --out <output path> default: out.nrrd
    --out_ext <output extension> (when using --dir) default: .nrrd
    --spacing <spacingX,spacingY,spacingZ> Input image spacing is used. Otherwise, is set to fit the output size.
    --pad <padX,padY,padZ> pad output at the top
    --iso_spacing If this is set, the spacing of the output image will be isometric, i.e., the same for all dimensions which means the max spacing value is selected and set for all dimensions.
    --center_image If this is set, the output image is centered in the resampled space.
    --linear Linear interpolation, default is nearest neighbor.
    
    img-pad-resample --img /path/to/input.nii --size 250,250,250 --out temp.nrrd 

    To process a whole directory with images

    img-pad-resample --dir /path/to/directory --size 250,250 --out /path/to/output/dir --out_ext .jpg

    Usage in your js logic

    Use med-img-reader to read any type of image with one or multiple components in a variety of formats.

    const MedImgReader = require('med-img-reader');
    const ImgPadResampleLib = require('itk-image-pad-resample');
    const medimgreader = new MedImgReader();
    medimgreader.SetFilename('/path/to/input{.png,.jpg,.nrrd,.nii.gz,.dcm}');
    medimgreader.ReadImage();
    const in_img = medimgreader.GetOutput();
     
    const imgpad = new ImgPadResampleLib();
    imgpad.SetImage(in_img);
    imgpad.SetOutputSize([300, 250]);
    imgpad.SetFitSpacingToOutputSizeOn(); //optional
    imgpad.SetIsoSpacingOn(); //optional 
    imgpad.SetCenterImageOn(); //optional
    imgpad.SetInterpolationTypeToLinear(); //default is nearest
    imgpad.Update();
    var img_out = imgpad.GetOutput();
     
    const writer = new MedImgReader();
    writer.SetInput(img_out);
    writer.SetFilename('/path/to/ouput/{.png,.jpg,.nrrd,.nii.gz,.dcm}');
    writer.WriteImage();
     

    Example

    Input RGBA image: alt text

    img-pad-resample --img brain.png --size 500,250 --out out_brain.png 

    Output RGBA image, the image here might look stretched because typical image viewers will not take spacing information in consideration!: alt text

    Use flag '--iso_spacing' to have the same spacing in all dimensions

    img-pad-resample --img brain.png --size 500,250 --iso_spacing --out out_brain_iso.png 

    Output RGBA image with equal spacing: alt text

    Convert image to a tensorflow Tensor tfjs


    const tf = require('@tensorflow/tfjs-node');//Or tfjs in browser or tfjs-node-gpu if in linux
    
    tf.tensor(
    	Float32Array.from(img_out.data), 
    	[1, ...[...img_out.size].reverse(), img_out.imageType.components]
    ));
    

    License

    MIT © juanprietob

    Install

    npm i itk-image-pad-resample

    DownloadsWeekly Downloads

    5

    Version

    1.1.6

    License

    MIT

    Unpacked Size

    3.95 MB

    Total Files

    14

    Last publish

    Collaborators

    • avatar