@itk-wasm/compress-stringify
TypeScript icon, indicating that this package has built-in type declarations

3.2.0 • Public • Published

@itk-wasm/compress-stringify

npm version

Zstandard compression and decompression and base64 encoding and decoding in WebAssembly.

👨‍💻 Live API Demo

🕮 Documentation 📚

Installation

npm install @itk-wasm/compress-stringify

Usage

Browser interface

Import:

import {
  imageToJson,
  jsonToImage,
  meshToJson,
  jsonToMesh,
  polyDataToJson,
  jsonToPolyData,
  compressStringify,
  parseStringDecompress,
  setPipelinesBaseUrl,
  getPipelinesBaseUrl,
} from "@itk-wasm/compress-stringify"

Functions

imageToJson

Compress and encode an itk-wasm Image into a JSON compatible object.

async function imageToJson(
  image: Image,
  options: ImageToJsonOptions = {}
): Promise<ImageToJsonResult>
Parameter Type Description
image Image Input image

ImageToJsonOptions interface:

Property Type Description
webWorker null or Worker or boolean WebWorker for computation. Set to null to create a new worker. Or, pass an existing worker. Or, set to false to run in the current thread / worker.
noCopy boolean When SharedArrayBuffer's are not available, do not copy inputs.

ImageToJsonResult interface:

Property Type Description
encoded ImageJson Output encoded image JSON, binary data is a compressed string
webWorker Worker WebWorker used for computation.

jsonToImage

Decode and decompress an itk-wasm Image JSON, binary data compressed and converted to a string.

async function jsonToImage(
  encoded: ImageJson,
  options: JsonToImageOptions = {}
): Promise<JsonToImageResult>
Parameter Type Description
encoded ImageJson Input encoded image

JsonToImageOptions interface:

Property Type Description
webWorker null or Worker or boolean WebWorker for computation. Set to null to create a new worker. Or, pass an existing worker. Or, set to false to run in the current thread / worker.
noCopy boolean When SharedArrayBuffer's are not available, do not copy inputs.

JsonToImageResult interface:

Property Type Description
decoded Image Output decoded image
webWorker Worker WebWorker used for computation.

meshToJson

Compress and encode an itk-wasm Mesh into a JSON compatible object.

async function meshToJson(
  mesh: Mesh,
  options: MeshToJsonOptions = {}
): Promise<MeshToJsonResult>
Parameter Type Description
mesh Mesh Input mesh

MeshToJsonOptions interface:

Property Type Description
webWorker null or Worker or boolean WebWorker for computation. Set to null to create a new worker. Or, pass an existing worker. Or, set to false to run in the current thread / worker.
noCopy boolean When SharedArrayBuffer's are not available, do not copy inputs.

MeshToJsonResult interface:

Property Type Description
encoded MeshJson Output encoded mesh JSON, binary data is a compressed string
webWorker Worker WebWorker used for computation.

jsonToMesh

Decode and decompress an itk-wasm Mesh JSON, binary data compressed and converted to a string.

async function jsonToMesh(
  encoded: MeshJson,
  options: JsonToMeshOptions = {}
): Promise<JsonToMeshResult>
Parameter Type Description
encoded MeshJson Input encoded mesh

JsonToMeshOptions interface:

Property Type Description
webWorker null or Worker or boolean WebWorker for computation. Set to null to create a new worker. Or, pass an existing worker. Or, set to false to run in the current thread / worker.
noCopy boolean When SharedArrayBuffer's are not available, do not copy inputs.

JsonToMeshResult interface:

Property Type Description
decoded Mesh Output decoded mesh
webWorker Worker WebWorker used for computation.

polyDataToJson

Compress and encode an itk-wasm PolyData into a JSON compatible object.

async function polyDataToJson(
  polyData: PolyData,
  options: PolyDataToJsonOptions = {}
): Promise<PolyDataToJsonResult>
Parameter Type Description
polyData PolyData Input polyData

PolyDataToJsonOptions interface:

Property Type Description
webWorker null or Worker or boolean WebWorker for computation. Set to null to create a new worker. Or, pass an existing worker. Or, set to false to run in the current thread / worker.
noCopy boolean When SharedArrayBuffer's are not available, do not copy inputs.

PolyDataToJsonResult interface:

Property Type Description
encoded PolyDataJson Output encoded polyData JSON, binary data is a compressed string
webWorker Worker WebWorker used for computation.

jsonToPolyData

Decode and decompress an itk-wasm PolyData JSON compatible object.

async function jsonToPolyData(
  encoded: PolyDataJson,
  options: JsonToPolyDataOptions = {}
): Promise<JsonToPolyDataResult>
Parameter Type Description
encoded PolyDataJson Input encoded polyData

JsonToPolyDataOptions interface:

Property Type Description
webWorker null or Worker or boolean WebWorker for computation. Set to null to create a new worker. Or, pass an existing worker. Or, set to false to run in the current thread / worker.
noCopy boolean When SharedArrayBuffer's are not available, do not copy inputs.

JsonToPolyDataResult interface:

Property Type Description
decoded PolyData Output decoded polyData
webWorker Worker WebWorker used for computation.

compressStringify

Given a binary, compress and optionally base64 encode.

async function compressStringify(
  input: Uint8Array,
  options: CompressStringifyOptions = {}
) : Promise<CompressStringifyResult>
Parameter Type Description
input Uint8Array Input binary

CompressStringifyOptions interface:

Property Type Description
stringify boolean Stringify the output
compressionLevel number Compression level, typically 1-9
dataUrlPrefix string dataURL prefix
webWorker null or Worker or boolean WebWorker for computation. Set to null to create a new worker. Or, pass an existing worker. Or, set to false to run in the current thread / worker.
noCopy boolean When SharedArrayBuffer's are not available, do not copy inputs.

CompressStringifyResult interface:

Property Type Description
output Uint8Array Output compressed binary
webWorker Worker WebWorker used for computation.

parseStringDecompress

Given a binary or string produced with compress-stringify, decompress and optionally base64 decode.

async function parseStringDecompress(
  input: Uint8Array,
  options: ParseStringDecompressOptions = {}
) : Promise<ParseStringDecompressResult>
Parameter Type Description
input Uint8Array Compressed input

ParseStringDecompressOptions interface:

Property Type Description
parseString boolean Parse the input string before decompression
webWorker null or Worker or boolean WebWorker for computation. Set to null to create a new worker. Or, pass an existing worker. Or, set to false to run in the current thread / worker.
noCopy boolean When SharedArrayBuffer's are not available, do not copy inputs.

ParseStringDecompressResult interface:

Property Type Description
output Uint8Array Output decompressed binary
webWorker Worker WebWorker used for computation.

setPipelinesBaseUrl

Set base URL for WebAssembly assets when vendored.

function setPipelinesBaseUrl(
  baseUrl: string | URL
) : void

getPipelinesBaseUrl

Get base URL for WebAssembly assets when vendored.

function getPipelinesBaseUrl() : string | URL

Node interface

Import:

import {
  imageToJsonNode,
  jsonToImageNode,
  meshToJsonNode,
  jsonToMeshNode,
  polyDataToJsonNode,
  jsonToPolyDataNode,
  compressStringifyNode,
  parseStringDecompressNode,
} from "@itk-wasm/compress-stringify"

imageToJsonNode

Compress and encode an itk-wasm Image into a JSON compatible object.

async function imageToJsonNode(image: Image): Promise<ImageToJsonNodeResult>
Parameter Type Description
image Image Input image

ImageToJsonNodeResult interface:

Property Type Description
encoded ImageJson Output encoded image JSON, binary data converted to a compressed string

jsonToImageNode

Decode and decompress an itk-wasm Image JSON compatible object.

async function jsonToImageNode(encoded: ImageJson): Promise<JsonToImageNodeResult>
Parameter Type Description
encoded string Input encoded image

JsonToImageNodeResult interface:

Property Type Description
decoded Image Output decoded image

meshToJsonNode

Compress and encode an itk-wasm Mesh into a JSON compatible object.

async function meshToJsonNode(mesh: Mesh): Promise<MeshToJsonNodeResult>
Parameter Type Description
mesh Mesh Input mesh

MeshToJsonNodeResult interface:

Property Type Description
encoded MeshJson Output encoded mesh JSON, binary data compressed and converted to a string

jsonToMeshNode

Decode and decompress an itk-wasm Mesh JSON compatible object.

async function jsonToMeshNode(encoded: MeshJson): Promise<JsonToMeshNodeResult>
Parameter Type Description
encoded MeshJson Input encoded mesh

JsonToMeshNodeResult interface:

Property Type Description
decoded Mesh Output decoded mesh

polyDataToJsonNode

Compress and encode an itk-wasm PolyData into a JSON compatible object.

async function polyDataToJsonNode(polyData: PolyData): Promise<PolyDataToJsonNodeResult>
Parameter Type Description
polyData PolyData Input polyData

PolyDataToJsonNodeResult interface:

Property Type Description
encoded PolyDataJson Output encoded polyData JSON, binary data compressed and converted to a string

jsonToPolyDataNode

Decode and decompress an itk-wasm PolyData JSON string.

async function jsonToPolyDataNode(encoded: PolyDataJson): Promise<JsonToPolyDataNodeResult>
Parameter Type Description
encoded PolyDataJson Input encoded polyData

JsonToPolyDataNodeResult interface:

Property Type Description
decoded PolyData Output decoded polyData

compressStringifyNode

Given a binary, compress and optionally base64 encode.

async function compressStringifyNode(
  input: Uint8Array,
  options: CompressStringifyNodeOptions = {}
) : Promise<CompressStringifyNodeResult>
Parameter Type Description
input Uint8Array Input binary

CompressStringifyNodeOptions interface:

Property Type Description
stringify boolean Stringify the output
compressionLevel number Compression level, typically 1-9
dataUrlPrefix string dataURL prefix

CompressStringifyNodeResult interface:

Property Type Description
output Uint8Array Output compressed binary

parseStringDecompressNode

Given a binary or string produced with compress-stringify, decompress and optionally base64 decode.

async function parseStringDecompressNode(
  input: Uint8Array,
  options: ParseStringDecompressNodeOptions = {}
) : Promise<ParseStringDecompressNodeResult>
Parameter Type Description
input Uint8Array Compressed input

ParseStringDecompressNodeOptions interface:

Property Type Description
parseString boolean Parse the input string before decompression

ParseStringDecompressNodeResult interface:

Property Type Description
output Uint8Array Output decompressed binary

/@itk-wasm/compress-stringify/

    Package Sidebar

    Install

    npm i @itk-wasm/compress-stringify

    Weekly Downloads

    9

    Version

    3.2.0

    License

    Apache-2.0

    Unpacked Size

    2.47 MB

    Total Files

    118

    Last publish

    Collaborators

    • paulhax
    • thewtex