2
pixelArr = [11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11..]
if (pixelArr != null)
{
for (var i = 0, n = pixelArr.length; i < n; i++)
{
pix = pixelArr[i];
pix = ApplyWL(pix, imagewc, imageww);
pix = lutArr[pix];
// var red = (pix & 0x00ff0000) >> 16;
v = i * 4;
imagedata[v] = pix & 0xff;
imagedata[v + 1] = (pix >>> 8) & 0xff;
imagedata[v + 2] = (pix >>> 16) & 0xff;
imagedata[v + 3] = 255;
}
// offscreenCtx.imageSmoothingEnabled = true;
offscreenCtx.putImageData(g, 0, 0);
}
function ApplyWL(value, _valwindowCenter, _valwindowWidth)
{
Recalculate(_valwindowCenter, _valwindowWidth);
if (value <= _windowStart)
value = _minimumOutputValue;
else if (value > _windowEnd)
value = _maximumOutputValue;
else
{
value = Math.round((((value - _windowCenterMin05)/_windowWidthMin1) + 0.5) * 255.0);
}
return value;
}
var _minimumOutputValue = 0;
var _maximumOutputValue = 255;
function Recalculate(_valwindowCenter, _valwindowWidth)
{
if (!_valid)
{
_windowCenterMin05 = _valwindowCenter - 0.5;
_windowWidthMin1 = _valwindowWidth - 1;
_windowWidthDiv2 = _windowWidthMin1/2;
_windowStart = (_windowCenterMin05 - _windowWidthDiv2);
_windowEnd = (_windowCenterMin05 + _windowWidthDiv2);
_valid = true;
}
}
Width<input id="text1" type="text" />
center<input id="text2" type="text" />
<input id="Button1" type="button" value="Apply" onclick="ApplyWLCust();" />
</br> time required<input id="text3" type="text" />
<canvas style="height: 500px; width: 500px; display1: none; background-color: black;
border: 1px solid red;" id="offscreenCanvas">
我已經在Canvas醫學圖像(CR)上應用窗口調整。 以便我從C#組件獲取像素數組。 點擊按鈕我有調用函數ApplyWLCust(); 在這個功能中,所有的過程都完成了。 對於窗口調平,使用位移 ,而移位大約需要585ms。 我必須減少這個時間,我應該怎麼做 任何解決方案 請建議。如何加快窗口調平(亮度,對比度)
首先不會使用jQuery來迭代循環,而是使用vanilla()。其次:使用類型數組而不是數組。 – K3N
如何用一些代碼詳細說明 – John
當您想要執行像素級操作時,您應該考慮使用帶有像素着色器的WebGL。這樣你可以使用硬件加速。 – Philipp