Commit 88e2352a authored by Oleg Dzhimiev's avatar Oleg Dzhimiev
Browse files

changes for TIFF files (synced to rocko)

parent 4f2579ba
Loading
Loading
Loading
Loading
+88 −101
Original line number Original line Diff line number Diff line
@@ -227,27 +227,20 @@
    this.getFormat = () => this.format;
    this.getFormat = () => this.format;
    this.getSrc = () => settings.src;
    this.getSrc = () => settings.src;


    function process_image_tiff(blob){
    function process_image_tiff(imagedata){


        IMAGE_FORMAT = "TIFF";
        IMAGE_FORMAT = "TIFF";
        obj.format = IMAGE_FORMAT;
        obj.format = IMAGE_FORMAT;


        var arrayBuffer;
        var fileReader = new FileReader();
        fileReader.onload = function(event){

            arrayBuffer = event.target.result;

        // tiff.js which is limited in capabilities
        // tiff.js which is limited in capabilities
        //var tiff = new Tiff({buffer: arrayBuffer});
        //var tiff = new Tiff({buffer: arrayBuffer});
        //var canvas = tiff.toCanvas();
        //var canvas = tiff.toCanvas();


        // UTIF.js
        // UTIF.js
            var ifds = UTIF.decode(arrayBuffer);
        var ifds = UTIF.decode(imagedata);
            UTIF.decodeImage(arrayBuffer, ifds[0]);
        UTIF.decodeImage(imagedata, ifds[0]);


        if (ifds[0].t258==16){
        if (ifds[0].t258==16){

            rgba_16bit = new Float32Array(ifds[0].data.filter((x,i) => i%2==0));
            rgba_16bit = new Float32Array(ifds[0].data.filter((x,i) => i%2==0));
            rgba_16bit = rgba_16bit.map((x,i) => x + (ifds[0].data[2*i+1]<<8));
            rgba_16bit = rgba_16bit.map((x,i) => x + (ifds[0].data[2*i+1]<<8));


@@ -354,15 +347,9 @@
        var ctx = canvas.getContext('2d');
        var ctx = canvas.getContext('2d');
        ctx.putImageData(rgba_idata, 0, 0);
        ctx.putImageData(rgba_idata, 0, 0);


            cnv_working.trigger("canvas_ready");
            obj.busy = false;

            //Elphel.Canvas.drawScaled($(canvas),cnv_display,settings.width);
        Elphel.Canvas.drawScaled(cnv_working,cnv_display,settings.width);
        Elphel.Canvas.drawScaled(cnv_working,cnv_display,settings.width);


        }
        conclude_processing();
        fileReader.readAsArrayBuffer(blob);

    }
    }


    function process_image(imagedata){
    function process_image(imagedata){