Abstract
Maximum intensity projection (MIP) is a volume visualization technique that is important in modern medical imaging systems. We propose a method to accelerate high-quality MIP volume rendering using cubic interpolation. First, our method skips more regions of volume data that do not affect the output image. To do this, we propose a method of transforming the B-spline interpolation function into a sub-division of Bezier spline interpolation. We generate the B-spline interpolation control points then the Bezier interpolation control points from three dimensional voxel values. The maximum value of each block is approximated using the Bezier interpolation control points due to the convex hull property of the Bezier spline. By accurately approximating the maximum value of each block, we can skip more unnecessary blocks. Second, we propose an efficient method of parallelization when performing volume visualization using a GPU. In order to reduce the number of memory transfers, our method determines the working shape of a warp, a bundle of 32 GPU threads, depending on the viewing direction. As a result, our method achieves a remarkable rendering speed improvement with no loss of image quality compared to previous studies, and performs high-quality MIP volume rendering using cubic interpolation at interactive speed.
Similar content being viewed by others
Data availability
Not applicable.
References
Champagnat F, Le Sant Y (2012) Efficient cubic b-spline image interpolation on a GPU. J Graphics Tool 16(4):218–232
de Boor C (1978) A Practical guide to splines. Springer-Verlag, New York
Eklund A, Dufort P, Forsberg D, La Conte SM (2013) Medical image processing on the GPU – past, present and future. Med Image Anal 17(8):1073–1094
Kaufman AE, Mueller K (2005) Overview of volume rendering. The Visualization handbook 7:127–174
Kwon O, Kang ST, Kim SH, Kim YH, Shin YG (2015) Maximum intensity projection using bidirectional compositing with block skipping. J X-ray Sci Technol 23(1):33–44
Kye H, Sohn BS, Lee J (2012) Interactive GPU-based maximum intensity projection of large medical data sets using visibility culling based on the initial occluder and the visible block classification. Comput Med Imaging Graph 36(5):366–374
Lacroute P, Levoy M (1994) Fast volume rendering using a shear-warp factorization of the viewing transformation. In: Proceedings of the 21st Annual Conference on Computer Graphics and Interactive Techniques. pp. 451–458
Levoy M (1988) Display of surfaces from volume data. IEEE Comput Graph Appl 8(3):29–37
Levoy M (1990) Efficient ray tracing of volume data. ACM Trans Graph 9(3):245–261
Marschner SR, Lobb RJ (1994). An evaluation of reconstruction filters for volume rendering. In: Proceedings Visualization'94, IEEE, pp. 100–107
Mihajlovic Z, Budin L, Radej J (2004) Gradient of B-splines in volume rendering. IEEE Mediterranean Electrotechnical Conference. IEEE, In, pp 239–242
Misaki Y, Ino F, Hagihara K (2017) Cache-aware, in-place rotation method for texture-based volume rendering. IEICE Trans Inf Syst 100(3):452–461
Mora B, Ebert D.S (2005) Low-complexity maximum intensity projection. ACM Trans Graph 24(4):1392–1416
Mroz L, König A, Gröller E (1999) Real-time maximum intensity projection. In: Data Visualization'99, springer, pp 135-144
Mroz L, Hauser H, Gröller E (2000) Interactive high-quality maximum intensity projection. Comput Graphics forum 19(3):341–350
Nehab D, Maximo A, Lima S, Hoppe H (2011) GPU-efficient recursive filtering and summed-area tables. ACM Trans Graph 30(6):176
Ruijters D, Thévenaz P (2010) GPU prefilter for accurate cubic B-spline interpolation. Comput J 55(1):15–20
Schreiner S, Galloway RL Jr (1993) A fast maximum-intensity projection algorithm for generating magnetic resonance angiograms. IEEE Trans Med Imaging 12(1):50–57
Shin Y, Kye H (2016) High quality volume visualization using B-spline interpolation. J Korea Comput Graphics Soc 22(3):1–9 (in Korean)
Smelyanskiy M, Holmes D, Chhugani J, Larson A, Carmean DM, Hanson D, Dubey P, Augustine K, Kim D, Kyker A, Lee VW, Nguyen AD, Seiler L, Robb R (2009) Mapping high-fidelity volume rendering for medical imaging to CPU, GPU, and many-core architectures. IEEE Trans Vis Comput Graph 15(6):1563–1570
Sugimoto Y, Ino F, Hagihara K (2014) Improving cache locality for GPU-based volume rendering. Parallel Comput 40(5):59–69
Sun Y, Parker DL (1999) Performance analysis of maximum intensity projection algorithm for display of MRA images. IEEE Trans Med Imaging 18(12):1154–1169
Unser M, Aldroubi A, Eden M (1993) B-spline signal processing: part II - efficient design and applications. IEEE Trans Signal Process 41(2):834–847
Wang J, Yang F, Cao Y (2017) A cache-friendly sampling strategy for texture-based volume rendering on GPU. Visual Inform 1(2):92–105
Zhang C, Xi P, Zhang C (2011) CUDA-based volume ray-casting using cubic B-spline. In: 2011 International Conference on Virtual Reality and Visualization, IEEE, pp. 84-88
Zhou D, Du H, Zhao F, Kan H, Li G, Qiu B (2016) Improving efficiency for CUDA-based volume rendering by combining segmentation and modified sampling strategies. Int J Simul Syst, Sci Technol 17(42):1–9
Acknowledgments
This work was supported by the National Research Foundation of Korea(NRF) grant funded by the Korea government(Ministry of Science and ICT) (No. 2017R1E1A1A03070494).
Code availability
Not applicable.
Funding
This work was supported by the National Research Foundation of Korea(NRF) grant funded by the Korea government(Ministry of Science and ICT) (No. 2017R1E1A1A03070494).
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflicts of interest/competing interests
Not applicable.
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendix 1
1.1 Subdivision of Bezier curve
Appendix 2
1.1 Proof of Tables 1 and 2
We prove the Table 1. “The most efficient tile shape is w x h if rotation is arctan (h/w).”
Memory transfer time is proportional to the height of rotated tile (HRT). We define the HRT when the tile width is w and the tile height is h as HRTw, h ≔ h cos θ + w sin θ (assuming 0 ≤ θ < π/2). The HRT is minimized when arctan (h/w) = θ, because:
Now we prove the first row of Table 2. “32x1 tile is efficient when 0 ≤ θ < arctan(1/16)”.
If θ is close to 0, we obviously select 32x1 tile. As θ increases, we select the 32x1 tile if HRT32,1 < HRT16,2 and select the 16 × 2 tile if HRT32,1 > HRT16,2. The boundary θ value between them is when HRT32,1 = HRT16,2. We select the 32x1 tile when 0 ≤ θ < arctan(1/16) because:
Rights and permissions
About this article
Cite this article
Shin, Y., Sohn, BS. & Kye, H. Acceleration techniques for cubic interpolation MIP volume rendering. Multimed Tools Appl 80, 20971–20989 (2021). https://doi.org/10.1007/s11042-021-10642-4
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11042-021-10642-4