Commit 2429def9 authored by Tomáš Oberhuber's avatar Tomáš Oberhuber
Browse files

Merge branch 'ECVMap' into 'main'

ECVMap

See merge request !5
parents 1ce3c5cf aa39ab5d
Loading
Loading
Loading
Loading
Loading
+26 −8
Original line number Diff line number Diff line
@@ -1029,11 +1029,12 @@ function registration(inverse) {
}

/**
 * Shows ECV popup with given ECV values.
 * Shows ECV popup with original T1 maps, ECV map and ECV values for each segment.
 *
 * @param {number[]} ecv Array of ECV values (one for each of 6 segments).
 * @param {number[]} ECVMap ECV map pixel data.
 */
function showECV(ecv) {
function showECV(ecv, ECVMap) {
    const list = document.getElementById("ecv");
    list.textContent = '';
    for (let i = 0; i < 6; i++) {
@@ -1052,6 +1053,15 @@ function showECV(ecv) {
        viewport.colormap = "pet";
        cornerstone.setViewport(element, viewport);
    }
    dicoms[7].parameters.height = dicoms[0].parameters.height;
    dicoms[7].parameters.width = dicoms[0].parameters.width;
    let element = document.getElementById('element8');
    countDimensions(element, dicoms[7].parameters.height, dicoms[7].parameters.width);
    updateLayer(7, 0, Uint16Array.from(ECVMap), 1.0, false);
    resetAdjusting(7);
    const viewport = cornerstone.getViewport(element);
    viewport.colormap = "pet";
    cornerstone.setViewport(element, viewport);
    togglePopup(1);
}

@@ -1160,15 +1170,23 @@ function computeT1(inverse, ecv) {
                ecv[i] = (1 - hematocrit) * (1 / T1 - 1 / T2) / (1 / T3 - 1 / T4);
            }

            /*let ECVMap = [];
            let ECVMap = [];
            for (let i = 0; i < height * width; i++) {
                if (targetT1[i] === 0 || sourceT1[i] === 0)
                    ECVMap[i] = 0;
                else {
                    ECVMap[i] = (1 - hematocrit) * (1 / targetT1[i] - 1 / sourceT1[i]) / (1 / T3 - 1 / T4);
                if (! isNaN(ECVMap[i]) && (ECVMap[i] < -1 || ECVMap[i] > 1))
                    window.alert(ECVMap[i]);
                    if (ECVMap[i] < 0)
                        ECVMap[i] = 0;
                    if (ECVMap[i] > 1)
                        ECVMap[i] = 1;
                    ECVMap[i] = Math.round(ECVMap[i] * 500);
                }
            }
            window.alert(ECVMap);*/
            ECVMap[0] = 0;
            ECVMap[1] = 500;

            showECV(ecv);
            showECV(ecv, ECVMap);
        }
        document.getElementById("cover-spin").classList.toggle("show");
    };