coreimage-raw-convert
v4.2.0
Published
Node.js native addon for converting RAW images to JPEG using Core Image
Maintainers
Readme
CoreImage RAW Convert
A Node.js native addon for converting RAW images to various formats using macOS Core Image framework.
Features
- Uses macOS Core Image's CIRAWFilter for RAW processing
- Supports various RAW formats (NEF, CR2, ARW, DNG, RAF, ORF, etc.)
- Objective-C++ addon
Requirements
- macOS
- Node.js
- Python (for node-gyp)
- Xcode Command Line Tools
Usage
Install:
npm i coreimage-raw-convertUse:
import fs from 'fs';
import { convertRaw, OutputFormat } from 'coreimage-raw-convert';
// Convert to JPEG
const rawBuffer = fs.readFileSync('photo.dng');
const jpegResult = convertRaw(rawBuffer, OutputFormat.JPEG, {
inputFormat: 'dng',
});
fs.writeFileSync('photo.jpg', jpegResult.buffer);
// Convert to PNG
const pngResult = convertRaw(rawBuffer, OutputFormat.PNG, {
inputFormat: 'dng',
});
fs.writeFileSync('photo.png', pngResult.buffer);
// Convert to TIFF
const tiffResult = convertRaw(rawBuffer, OutputFormat.TIFF, {
inputFormat: 'dng',
});
fs.writeFileSync('photo.tif', tiffResult.buffer);Examples
The project includes several TypeScript examples. Use the npm scripts to run them:
# Convert a RAW file from command line
npm run example -- input.raw output.jpg
# Convert to different formats
npm run example -- input.raw output.png
npm run example -- input.raw output.tif
# Interactive web demo with all conversion options
npm run demo
# Performance benchmark
npm run benchmark
# Benchmark with custom parameters
npm run benchmark -- --lens-correction "true,false" --quality "0.1,0.5,0.9" --format "jpeg,tif" --draft-mode "true,false" --boost "0.0,1.0" --iterations 10Build from Source
# Install dependencies
npm install
# Configure build
npm run configure
# Build the addon
npm run buildLicense
BlueOak-1.0.0
