@@ -196,60 +196,6 @@ function plotOne(gd, plotinfo, cd) {
196
196
} ;
197
197
}
198
198
199
- // get interpolated bin value. Returns {bin0:closest bin, frac:fractional dist to next, bin1:next bin}
200
- function findInterp ( pixel , pixArray ) {
201
- var maxBin = pixArray . length - 2 ;
202
- var bin = Lib . constrain ( Lib . findBin ( pixel , pixArray ) , 0 , maxBin ) ;
203
- var pix0 = pixArray [ bin ] ;
204
- var pix1 = pixArray [ bin + 1 ] ;
205
- var interp = Lib . constrain ( bin + ( pixel - pix0 ) / ( pix1 - pix0 ) - 0.5 , 0 , maxBin ) ;
206
- var bin0 = Math . round ( interp ) ;
207
- var frac = Math . abs ( interp - bin0 ) ;
208
-
209
- if ( ! interp || interp === maxBin || ! frac ) {
210
- return {
211
- bin0 : bin0 ,
212
- bin1 : bin0 ,
213
- frac : 0
214
- } ;
215
- }
216
- return {
217
- bin0 : bin0 ,
218
- frac : frac ,
219
- bin1 : Math . round ( bin0 + frac / ( interp - bin0 ) )
220
- } ;
221
- }
222
-
223
- function findInterpFromCenters ( pixel , centerPixArray ) {
224
- // if(pixel <= centerPixArray[0]) return {bin0: 0, bin1: 0, frac: 0};
225
-
10000
var maxBin = centerPixArray . length - 1 ;
226
- // if(pixel >= centerPixArray[lastCenter]) return {bin0: lastCenter, bin1: lastCenter, frac: 0};
227
-
228
- var bin = Lib . constrain ( Lib . findBin ( pixel , centerPixArray ) , 0 , maxBin ) ;
229
- var pix0 = centerPixArray [ bin ] ;
230
- var pix1 = centerPixArray [ bin + 1 ] ;
231
- var frac = ( ( pixel - pix0 ) / ( pix1 - pix0 ) ) || 0 ;
232
- if ( frac <= 0 ) {
233
- return {
234
- bin0 : bin ,
235
- bin1 : bin ,
236
- frac : 0
237
- } ;
238
- }
239
- if ( frac < 0.5 ) {
240
- return {
241
- bin0 : bin ,
242
- bin1 : bin + 1 ,
243
- frac : frac
244
- } ;
245
- }
246
- return {
247
- bin0 : bin + 1 ,
248
- bin1 : bin ,
249
- frac : 1 - frac
250
- } ;
251
- }
252
-
253
199
// build the pixel map brick-by-brick
254
200
// cruise through z-matrix row-by-row
255
201
// build a brick at each z-matrix value
@@ -281,13 +227,6 @@ function plotOne(gd, plotinfo, cd) {
281
227
return [ 0 , 0 , 0 , 0 ] ;
282
228
}
283
229
284
- function putColor ( pixels , pxIndex , c ) {
285
- pixels [ pxIndex ] = c [ 0 ] ;
286
- pixels [ pxIndex + 1 ] = c [ 1 ] ;
287
- pixels [ pxIndex + 2 ] = c [ 2 ] ;
288
- pixels [ pxIndex + 3 ] = Math . round ( c [ 3 ] * 255 ) ;
289
- }
290
-
291
230
function interpColor ( r0 , r1 , xinterp , yinterp ) {
292
231
var z00 = r0 [ xinterp . bin0 ] ;
293
232
if ( z00 === undefined ) return setColor ( undefined , 1 ) ;
@@ -444,3 +383,64 @@ function plotOne(gd, plotinfo, cd) {
444
383
445
384
image3 . exit ( ) . remove ( ) ;
446
385
}
386
+
387
+ // get interpolated bin value. Returns {bin0:closest bin, frac:fractional dist to next, bin1:next bin}
388
+ function findInterp ( pixel , pixArray ) {
389
+ var maxBin = pixArray . length - 2 ;
390
+ var bin = Lib . constrain ( Lib . findBin ( pixel , pixArray ) , 0 , maxBin ) ;
391
+ var pix0 = pixArray [ bin ] ;
392
+ var pix1 = pixArray [ bin + 1 ] ;
393
+ var interp = Lib . constrain ( bin + ( pixel - pix0 ) / ( pix1 - pix0 ) - 0.5 , 0 , maxBin ) ;
394
+ var bin0 = Math . round ( interp ) ;
395
+ var frac = Math . abs ( interp - bin0 ) ;
396
+
397
+ if ( ! interp || interp === maxBin || ! frac ) {
398
+ return {
399
+ bin0 : bin0 ,
400
+ bin1 : bin0 ,
401
+ frac : 0
402
+ } ;
403
+ }
404
+ return {
405
+ bin0 : bin0 ,
406
+ frac : frac ,
407
+ bin1 : Math . round ( bin0 + frac / ( interp - bin0 ) )
408
+ } ;
409
+ }
410
+
411
+ function findInterpFromCenters ( pixel , centerPixArray ) {
412
+ // if(pixel <= centerPixArray[0]) return {bin0: 0, bin1: 0, frac: 0};
413
+ var maxBin = centerPixArray . length - 1 ;
414
+ // if(pixel >= centerPixArray[lastCenter]) return {bin0: lastCenter, bin1: lastCenter, frac: 0};
415
+
416
+ var bin = Lib . constrain ( Lib . findBin ( pixel , centerPixArray ) , 0 , maxBin ) ;
417
+ var pix0 = centerPixArray [ bin ] ;
418
+ var pix1 = centerPixArray [ bin + 1 ] ;
419
+ var frac = ( ( pixel - pix0 ) / ( pix1 - pix0 ) ) || 0 ;
420
+ if ( frac <= 0 ) {
421
+ return {
422
+ bin0 : bin ,
423
+ bin1 : bin ,
424
+ frac : 0
425
+ } ;
426
+ }
427
+ if ( frac < 0.5 ) {
428
+ return {
429
+ bin0 : bin ,
430
+ bin1 : bin + 1 ,
431
+ frac : frac
432
+ } ;
433
+ }
434
+ return {
435
+ bin0 : bin + 1 ,
436
+ bin1 : bin ,
437
+ frac : 1 - frac
438
+ } ;
439
+ }
440
+
441
+ function putColor ( pixels , pxIndex , c ) {
442
+ pixels [ pxIndex ] = c [ 0 ] ;
443
+ pixels [ pxIndex + 1 ] = c [ 1 ] ;
444
+ pixels [ pxIndex + 2 ] = c [ 2 ] ;
445
+ pixels [ pxIndex + 3 ] = Math . round ( c [ 3 ] * 255 ) ;
446
+ }
0 commit comments