@@ -17,7 +17,7 @@ export default ({
1717} ) => {
1818 const [ canvasRef , setCanvasRef ] = useState ( null )
1919
20- const lastTimeMMGCRun = useRef ( Date . now ( ) ) ;
20+ const lastTimeMMGCRun = useRef ( 0 ) ;
2121 const superPixelsGenerated = useRef ( false )
2222 const [ sampleImageData , setSampleImageData ] = useState ( )
2323
@@ -43,7 +43,9 @@ export default ({
4343 if ( ! canvasRef ) return
4444 if ( ! sampleImageData ) return
4545 if ( ! mmgc . setImage ) return
46- if ( Date . now ( ) < lastTimeMMGCRun . current + 5000 ) return
46+ // NEEDS DEBOUNCE
47+ if ( Date . now ( ) < lastTimeMMGCRun . current + 500 ) return
48+ lastTimeMMGCRun . current = Date . now ( )
4749 const context = canvasRef . getContext ( "2d" )
4850
4951 console . log ( "got the sample image data and ready to mmgc!" )
@@ -72,24 +74,29 @@ export default ({
7274 mmgc . addClassPoint ( regionClsList . indexOf ( classPoint . cls ) , Math . floor (
7375 classPoint . y * sampleImageData . height
7476 ) , Math . floor ( classPoint . x * sampleImageData . width
75- ) )
77+ ) )
7678 }
7779 // mmgc.addClassPoint(0, 100, 125)
7880 // mmgc.addClassPoint(1, 10, 10)
7981 // mmgc.addClassPoint(1, 240, 300)
8082 mmgc . computeMasks ( )
8183 const maskAddress = mmgc . getColoredMask ( )
82- const cppImDataUint8 = new Uint8ClampedArray (
84+ const cppImDataUint8 = new Uint8Array (
8385 mmgc . HEAPU8 . buffer ,
8486 maskAddress ,
85- sampleImageData . width * sampleImageData . height * 4
87+ sampleImageData . data . length
88+ // sampleImageData.width * sampleImageData.height * 4
8689 )
90+ const clampedArray = Uint8ClampedArray . from ( cppImDataUint8 )
8791
88- const maskImageData = new ImageData ( cppImDataUint8 , sampleImageData . width , sampleImageData . height )
92+ window . uint8Arrays = ( window . uint8Arrays || [ ] ) . concat ( [ cppImDataUint8 ] )
93+
94+ const maskImageData = new ImageData ( clampedArray , sampleImageData . width , sampleImageData . height )
8995
9096 // for (const i = 0; i < cppImDataUint8.length;i++){
9197 // sampleImageData.data[i] = cppImDataUint8[i]
9298 // }
99+ console . log ( maskImageData . data )
93100 context . clearRect ( 0 , 0 , sampleImageData . width , sampleImageData . height )
94101 context . putImageData ( maskImageData , 0 , 0 )
95102 } , [ canvasRef , sampleImageData , JSON . stringify ( classPoints . map ( c => [ c . x , c . y , c . cls ] ) ) ] )
0 commit comments