How to use PositionComponentResolutionLayerIterator method in wpt

Best JavaScript code snippet using wpt

jpx.js

Source:jpx.js Github

copy

Full Screen

...725 }726 throw new Error('JPX Error: Out of packets');727 };728 }729 function PositionComponentResolutionLayerIterator(context) {730 var siz = context.SIZ;731 var tileIndex = context.currentTile.index;732 var tile = context.tiles[tileIndex];733 var layersCount = tile.codingStyleDefaultParameters.layersCount;734 var componentsCount = siz.Csiz;735 var precinctsSizes = getPrecinctSizesInImageScale(tile);736 var precinctsIterationSizes = precinctsSizes;737 var l = 0, r = 0, c = 0, px = 0, py = 0;738 this.nextPacket = function JpxImage_nextPacket() {739 // Section B.12.1.4 Position-component-resolution-layer740 for (; py < precinctsIterationSizes.maxNumHigh; py++) {741 for (; px < precinctsIterationSizes.maxNumWide; px++) {742 for (; c < componentsCount; c++) {743 var component = tile.components[c];744 var decompositionLevelsCount =745 component.codingStyleParameters.decompositionLevelsCount;746 for (; r <= decompositionLevelsCount; r++) {747 var resolution = component.resolutions[r];748 var sizeInImageScale =749 precinctsSizes.components[c].resolutions[r];750 var k = getPrecinctIndexIfExist(751 px,752 py,753 sizeInImageScale,754 precinctsIterationSizes,755 resolution);756 if (k === null) {757 continue;758 }759 for (; l < layersCount;) {760 var packet = createPacket(resolution, k, l);761 l++;762 return packet;763 }764 l = 0;765 }766 r = 0;767 }768 c = 0;769 }770 px = 0;771 }772 throw new Error('JPX Error: Out of packets');773 };774 }775 function ComponentPositionResolutionLayerIterator(context) {776 var siz = context.SIZ;777 var tileIndex = context.currentTile.index;778 var tile = context.tiles[tileIndex];779 var layersCount = tile.codingStyleDefaultParameters.layersCount;780 var componentsCount = siz.Csiz;781 var precinctsSizes = getPrecinctSizesInImageScale(tile);782 var l = 0, r = 0, c = 0, px = 0, py = 0;783 this.nextPacket = function JpxImage_nextPacket() {784 // Section B.12.1.5 Component-position-resolution-layer785 for (; c < componentsCount; ++c) {786 var component = tile.components[c];787 var precinctsIterationSizes = precinctsSizes.components[c];788 var decompositionLevelsCount =789 component.codingStyleParameters.decompositionLevelsCount;790 for (; py < precinctsIterationSizes.maxNumHigh; py++) {791 for (; px < precinctsIterationSizes.maxNumWide; px++) {792 for (; r <= decompositionLevelsCount; r++) {793 var resolution = component.resolutions[r];794 var sizeInImageScale = precinctsIterationSizes.resolutions[r];795 var k = getPrecinctIndexIfExist(796 px,797 py,798 sizeInImageScale,799 precinctsIterationSizes,800 resolution);801 if (k === null) {802 continue;803 }804 for (; l < layersCount;) {805 var packet = createPacket(resolution, k, l);806 l++;807 return packet;808 }809 l = 0;810 }811 r = 0;812 }813 px = 0;814 }815 py = 0;816 }817 throw new Error('JPX Error: Out of packets');818 };819 }820 function getPrecinctIndexIfExist(821 pxIndex, pyIndex, sizeInImageScale, precinctIterationSizes, resolution) {822 var posX = pxIndex * precinctIterationSizes.minWidth;823 var posY = pyIndex * precinctIterationSizes.minHeight;824 if (posX % sizeInImageScale.width !== 0 ||825 posY % sizeInImageScale.height !== 0) {826 return null;827 }828 var startPrecinctRowIndex =829 (posY / sizeInImageScale.width) *830 resolution.precinctParameters.numprecinctswide;831 return (posX / sizeInImageScale.height) + startPrecinctRowIndex;832 }833 function getPrecinctSizesInImageScale(tile) {834 var componentsCount = tile.components.length;835 var minWidth = Number.MAX_VALUE;836 var minHeight = Number.MAX_VALUE;837 var maxNumWide = 0;838 var maxNumHigh = 0;839 var sizePerComponent = new Array(componentsCount);840 for (var c = 0; c < componentsCount; c++) {841 var component = tile.components[c];842 var decompositionLevelsCount =843 component.codingStyleParameters.decompositionLevelsCount;844 var sizePerResolution = new Array(decompositionLevelsCount + 1);845 var minWidthCurrentComponent = Number.MAX_VALUE;846 var minHeightCurrentComponent = Number.MAX_VALUE;847 var maxNumWideCurrentComponent = 0;848 var maxNumHighCurrentComponent = 0;849 var scale = 1;850 for (var r = decompositionLevelsCount; r >= 0; --r) {851 var resolution = component.resolutions[r];852 var widthCurrentResolution =853 scale * resolution.precinctParameters.precinctWidth;854 var heightCurrentResolution =855 scale * resolution.precinctParameters.precinctHeight;856 minWidthCurrentComponent = Math.min(857 minWidthCurrentComponent,858 widthCurrentResolution);859 minHeightCurrentComponent = Math.min(860 minHeightCurrentComponent,861 heightCurrentResolution);862 maxNumWideCurrentComponent = Math.max(maxNumWideCurrentComponent,863 resolution.precinctParameters.numprecinctswide);864 maxNumHighCurrentComponent = Math.max(maxNumHighCurrentComponent,865 resolution.precinctParameters.numprecinctshigh);866 sizePerResolution[r] = {867 width: widthCurrentResolution,868 height: heightCurrentResolution869 };870 scale <<= 1;871 }872 minWidth = Math.min(minWidth, minWidthCurrentComponent);873 minHeight = Math.min(minHeight, minHeightCurrentComponent);874 maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent);875 maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent);876 sizePerComponent[c] = {877 resolutions: sizePerResolution,878 minWidth: minWidthCurrentComponent,879 minHeight: minHeightCurrentComponent,880 maxNumWide: maxNumWideCurrentComponent,881 maxNumHigh: maxNumHighCurrentComponent882 };883 }884 return {885 components: sizePerComponent,886 minWidth: minWidth,887 minHeight: minHeight,888 maxNumWide: maxNumWide,889 maxNumHigh: maxNumHigh890 };891 }892 function buildPackets(context) {893 var siz = context.SIZ;894 var tileIndex = context.currentTile.index;895 var tile = context.tiles[tileIndex];896 var componentsCount = siz.Csiz;897 // Creating resolutions and sub-bands for each component898 for (var c = 0; c < componentsCount; c++) {899 var component = tile.components[c];900 var decompositionLevelsCount =901 component.codingStyleParameters.decompositionLevelsCount;902 // Section B.5 Resolution levels and sub-bands903 var resolutions = [];904 var subbands = [];905 for (var r = 0; r <= decompositionLevelsCount; r++) {906 var blocksDimensions = getBlocksDimensions(context, component, r);907 var resolution = {};908 var scale = 1 << (decompositionLevelsCount - r);909 resolution.trx0 = Math.ceil(component.tcx0 / scale);910 resolution.try0 = Math.ceil(component.tcy0 / scale);911 resolution.trx1 = Math.ceil(component.tcx1 / scale);912 resolution.try1 = Math.ceil(component.tcy1 / scale);913 resolution.resLevel = r;914 buildPrecincts(context, resolution, blocksDimensions);915 resolutions.push(resolution);916 var subband;917 if (r === 0) {918 // one sub-band (LL) with last decomposition919 subband = {};920 subband.type = 'LL';921 subband.tbx0 = Math.ceil(component.tcx0 / scale);922 subband.tby0 = Math.ceil(component.tcy0 / scale);923 subband.tbx1 = Math.ceil(component.tcx1 / scale);924 subband.tby1 = Math.ceil(component.tcy1 / scale);925 subband.resolution = resolution;926 buildCodeblocks(context, subband, blocksDimensions);927 subbands.push(subband);928 resolution.subbands = [subband];929 } else {930 var bscale = 1 << (decompositionLevelsCount - r + 1);931 var resolutionSubbands = [];932 // three sub-bands (HL, LH and HH) with rest of decompositions933 subband = {};934 subband.type = 'HL';935 subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);936 subband.tby0 = Math.ceil(component.tcy0 / bscale);937 subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);938 subband.tby1 = Math.ceil(component.tcy1 / bscale);939 subband.resolution = resolution;940 buildCodeblocks(context, subband, blocksDimensions);941 subbands.push(subband);942 resolutionSubbands.push(subband);943 subband = {};944 subband.type = 'LH';945 subband.tbx0 = Math.ceil(component.tcx0 / bscale);946 subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);947 subband.tbx1 = Math.ceil(component.tcx1 / bscale);948 subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);949 subband.resolution = resolution;950 buildCodeblocks(context, subband, blocksDimensions);951 subbands.push(subband);952 resolutionSubbands.push(subband);953 subband = {};954 subband.type = 'HH';955 subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);956 subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);957 subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);958 subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);959 subband.resolution = resolution;960 buildCodeblocks(context, subband, blocksDimensions);961 subbands.push(subband);962 resolutionSubbands.push(subband);963 resolution.subbands = resolutionSubbands;964 }965 }966 component.resolutions = resolutions;967 component.subbands = subbands;968 }969 // Generate the packets sequence970 var progressionOrder = tile.codingStyleDefaultParameters.progressionOrder;971 switch (progressionOrder) {972 case 0:973 tile.packetsIterator =974 new LayerResolutionComponentPositionIterator(context);975 break;976 case 1:977 tile.packetsIterator =978 new ResolutionLayerComponentPositionIterator(context);979 break;980 case 2:981 tile.packetsIterator =982 new ResolutionPositionComponentLayerIterator(context);983 break;984 case 3:985 tile.packetsIterator =986 new PositionComponentResolutionLayerIterator(context);987 break;988 case 4:989 tile.packetsIterator =990 new ComponentPositionResolutionLayerIterator(context);991 break;992 default:993 throw new Error('JPX Error: Unsupported progression order ' +994 progressionOrder);995 }996 }997 function parseTilePackets(context, data, offset, dataLength) {998 var position = 0;999 var buffer, bufferSize = 0, skipNextBit = false;1000 function readBits(count) {...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var wpt = require('wpt');2var wpt = new WebPageTest('www.webpagetest.org');3 if(err) console.log(err);4 console.log(data);5});6var wpt = require('wpt');7var wpt = new WebPageTest('www.webpagetest.org');8 if(err) console.log(err);9 console.log(data);10});11var wpt = require('wpt');12var wpt = new WebPageTest('www.webpagetest.org');13 if(err) console.log(err);14 console.log(data);15});16var wpt = require('wpt');17var wpt = new WebPageTest('www.webpagetest.org');18 if(err) console.log(err);19 console.log(data);20});21var wpt = require('wpt');22var wpt = new WebPageTest('www.webpagetest.org');23 if(err) console.log(err);24 console.log(data);25});26var wpt = require('wpt');27var wpt = new WebPageTest('www.webpagetest.org');28 if(err) console.log(err);29 console.log(data);30});

Full Screen

Using AI Code Generation

copy

Full Screen

1var wpt = require("wpt");2var positionComponentResolutionLayerIterator = wpt.PositionComponentResolutionLayerIterator;3var positionComponentResolutionLayerIterator = new positionComponentResolutionLayerIterator();4positionComponentResolutionLayerIterator.setLayer(1);5positionComponentResolutionLayerIterator.setResolution(2);6positionComponentResolutionLayerIterator.setPosition(3);7positionComponentResolutionLayerIterator.setComponent(4);8positionComponentResolutionLayerIterator.setTile(5);9positionComponentResolutionLayerIterator.setTileComponent(6);10positionComponentResolutionLayerIterator.setTileComponentResolution(7);11positionComponentResolutionLayerIterator.setTileComponentResolutionLevel(8);12positionComponentResolutionLayerIterator.setTileComponentResolutionLevelPrecinct(9);13positionComponentResolutionLayerIterator.setTileComponentResolutionLevelPrecinctSubband(10);14positionComponentResolutionLayerIterator.setTileComponentResolutionLevelPrecinctSubbandBlock(11);15var layer = positionComponentResolutionLayerIterator.getLayer();16var resolution = positionComponentResolutionLayerIterator.getResolution();17var position = positionComponentResolutionLayerIterator.getPosition();18var component = positionComponentResolutionLayerIterator.getComponent();19var tile = positionComponentResolutionLayerIterator.getTile();20var tileComponent = positionComponentResolutionLayerIterator.getTileComponent();21var tileComponentResolution = positionComponentResolutionLayerIterator.getTileComponentResolution();22var tileComponentResolutionLevel = positionComponentResolutionLayerIterator.getTileComponentResolutionLevel();23var tileComponentResolutionLevelPrecinct = positionComponentResolutionLayerIterator.getTileComponentResolutionLevelPrecinct();24var tileComponentResolutionLevelPrecinctSubband = positionComponentResolutionLayerIterator.getTileComponentResolutionLevelPrecinctSubband();25var tileComponentResolutionLevelPrecinctSubbandBlock = positionComponentResolutionLayerIterator.getTileComponentResolutionLevelPrecinctSubbandBlock();26console.log("Layer: " + layer);27console.log("Resolution: " + resolution);28console.log("Position: " + position);29console.log("Component: " + component);30console.log("Tile: " + tile);31console.log("TileComponent: " + tileComponent);32console.log("TileComponentResolution: " + tileComponentResolution);33console.log("TileComponentResolutionLevel: " + tileComponentResolutionLevel);34console.log("TileComponentResolutionLevelPrecinct: " + tileComponentResolutionLevelPrecinct);35console.log("TileComponentResolutionLevelPrecinctSubband: " + tileComponentResolutionLevelPrecinctSubband);36console.log("TileComponentResolutionLevelPrecinctSubbandBlock: " + tileComponentResolutionLevelPrecinctSubbandBlock);

Full Screen

Using AI Code Generation

copy

Full Screen

1var wptc = require('wptc');2var path = require('path');3var fs = require('fs');4var file = path.resolve(__dirname, 'test.tif');5var layer = new wptc.PositionComponentResolutionLayerIterator(file);6var x = 0;7var y = 0;8var z = 0;9var res = layer.getResolution(x, y, z);10console.log(res);11#### PositionComponentResolutionLayerIterator(filename)12#### PositionComponentResolutionLayerIterator.getResolution(x, y, z)

Full Screen

Using AI Code Generation

copy

Full Screen

1var wpt = require('wpt');2var iterator = new wpt.PositionComponentResolutionLayerIterator();3iterator.setStartPoint(0, 0);4iterator.setEndPoint(500, 500);5iterator.setResolution(1);6iterator.setLayer(0);7while (iterator.hasNext()) {8 var point = iterator.next();9 console.log(point);10}

Full Screen

Using AI Code Generation

copy

Full Screen

1var wptree = require('./wptree.js');2var json = require('./test.json');3var tree = new wptree.Tree(json);4var iterator = new wptree.PositionComponentResolutionLayerIterator(tree);5while (iterator.hasNext()) {6 var node = iterator.next();7 console.log(node.position + " " + node.componentResolution);8}

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run wpt automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful