UNPKG

voluptasquisquam

Version:

Image processing and manipulation in JavaScript

100 lines (80 loc) 2.76 kB
import {Image} from 'test/common'; import {desc as sortDesc} from 'num-sort'; import 'should'; describe('map a binary image (mask) 2 x 2', function () { let imageData = new Uint8Array(1); imageData[0] = 192; let img = new Image(2, 2, imageData, { kind: 'BINARY' }); let roiManager = img.getRoiManager(); roiManager.fromMask(img); let data = roiManager.getData(); let result = roiManager.getMap(); data.sort(sortDesc); it('should have 4 data in 2 zones', function () { expect(data).toBeInstanceOf(Int16Array); expect(data.length).toEqual(4); data[0].should.equal(1); data[1].should.equal(1); data[2].should.equal(-1); data[3].should.equal(-1); }); it('should have 2 zones, one positive, one negative', function () { result.total.should.equal(2); result.negative.should.equal(1); result.positive.should.equal(1); }); }); describe('map a binary image 4 x 4 in 2 zones', function () { let imageData = new Uint8Array(2); imageData[0] = 255; imageData[1] = 0; let img = new Image(4, 4, imageData, { kind: 'BINARY' }); let roiManager = img.getRoiManager(); roiManager.fromMask(img); let data = roiManager.getData(); let result = roiManager.getMap(); it('should have 16 data in 2 zones', function () { expect(data).toBeInstanceOf(Int16Array); expect(data.length).toEqual(16); data[0].should.equal(1); data[7].should.equal(1); data[8].should.equal(-1); data[15].should.equal(-1); }); it('should have 2 zones, one positive, one negative', function () { result.total.should.equal(2); result.negative.should.equal(1); result.positive.should.equal(1); }); }); describe('map a binary image 4 x 4 in 2 zones', function () { let imageData = new Uint8Array(2); imageData[0] = 63; imageData[1] = 192; let img = new Image(4, 4, imageData, { kind: 'BINARY' }); let roiManager = img.getRoiManager(); roiManager.fromMask(img); let data = roiManager.getData(); let result = roiManager.getMap(); it('should have 16 data in 3 zones', function () { expect(data).toBeInstanceOf(Int16Array); expect(data.length).toEqual(16); data[0].should.equal(-1); data[1].should.equal(-1); data[2].should.equal(1); data[9].should.equal(1); data[10].should.equal(-2); data[15].should.equal(-2); }); it('should have 3 zones, one positive, two negative', function () { result.total.should.equal(3); result.negative.should.equal(2); result.positive.should.equal(1); }); });