--- a +++ b/Cobiveco/@cobiveco/computeTransventricular.m @@ -0,0 +1,27 @@ +function computeTransventricular(o) + +if ~o.available.mesh0 + o.prepareMesh0; +end +o.printStatus('Computing transventricular coordinate...'); +t = toc; + +idsEndoLv = o.m0.surToVol(o.m0.sur.pointData.class==3); +idsEndoRv = o.m0.surToVol(o.m0.sur.pointData.class==4); + +ids = [idsEndoLv; idsEndoRv]; +val = [zeros(size(idsEndoLv)); ones(size(idsEndoRv))]; +o.m0.tvLaplace = solveLaplace(o.m0.L, ids, val, o.cfg.tol, o.cfg.maxit); +o.m0.tv = round(o.m0.tvLaplace); +o.result.pointData.tv = single(o.m0.tv); + +if o.cfg.exportLevel > 1 + o.m0.debug.pointData.tvLaplace = single(o.m0.tvLaplace); + o.m0.debug.pointData.tv = single(o.m0.tv); + vtkWrite(o.m0.debug, sprintf('%sdebug0.vtu', o.cfg.outPrefix)); +end + +o.printStatus(sprintf('%.1f seconds\n', toc-t), true); +o.available.transventricular = true; + +end \ No newline at end of file