Skip to main content
Log in

Acceleration techniques for cubic interpolation MIP volume rendering

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

Data availability

Not applicable.

References

  1. Champagnat F, Le Sant Y (2012) Efficient cubic b-spline image interpolation on a GPU. J Graphics Tool 16(4):218–232

    Article  Google Scholar 

  2. de Boor C (1978) A Practical guide to splines. Springer-Verlag, New York

    Book  Google Scholar 

  3. 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

    Article  Google Scholar 

  4. Kaufman AE, Mueller K (2005) Overview of volume rendering. The Visualization handbook 7:127–174

    Article  Google Scholar 

  5. 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

    Article  Google Scholar 

  6. 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

    Article  Google Scholar 

  7. 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

  8. Levoy M (1988) Display of surfaces from volume data. IEEE Comput Graph Appl 8(3):29–37

    Article  Google Scholar 

  9. Levoy M (1990) Efficient ray tracing of volume data. ACM Trans Graph 9(3):245–261

    Article  Google Scholar 

  10. Marschner SR, Lobb RJ (1994). An evaluation of reconstruction filters for volume rendering. In: Proceedings Visualization'94, IEEE, pp. 100–107

  11. Mihajlovic Z, Budin L, Radej J (2004) Gradient of B-splines in volume rendering. IEEE Mediterranean Electrotechnical Conference. IEEE, In, pp 239–242

    Google Scholar 

  12. 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

    Article  Google Scholar 

  13. Mora B, Ebert D.S (2005) Low-complexity maximum intensity projection. ACM Trans Graph 24(4):1392–1416

  14. Mroz L, König A, Gröller E (1999) Real-time maximum intensity projection. In: Data Visualization'99, springer, pp 135-144

  15. Mroz L, Hauser H, Gröller E (2000) Interactive high-quality maximum intensity projection. Comput Graphics forum 19(3):341–350

    Article  Google Scholar 

  16. Nehab D, Maximo A, Lima S, Hoppe H (2011) GPU-efficient recursive filtering and summed-area tables. ACM Trans Graph 30(6):176

    Article  Google Scholar 

  17. Ruijters D, Thévenaz P (2010) GPU prefilter for accurate cubic B-spline interpolation. Comput J 55(1):15–20

    Article  Google Scholar 

  18. 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

    Article  Google Scholar 

  19. Shin Y, Kye H (2016) High quality volume visualization using B-spline interpolation. J Korea Comput Graphics Soc 22(3):1–9 (in Korean)

    Article  Google Scholar 

  20. 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

    Article  Google Scholar 

  21. Sugimoto Y, Ino F, Hagihara K (2014) Improving cache locality for GPU-based volume rendering. Parallel Comput 40(5):59–69

    Article  MathSciNet  Google Scholar 

  22. 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

    Article  Google Scholar 

  23. 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

    Article  Google Scholar 

  24. 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

    Article  Google Scholar 

  25. 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

  26. 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

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Heewon Kye.

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

$$ {\displaystyle \begin{array}{l}{subd}_{6i-1}={Z}_{3i-1}\\ {}{subd}_{6i}=\frac{Z_{3i-1}+{Z}_{3i}}{2}\\ {}\begin{array}{c}{subd}_{6i+1}=\frac{Z_{3i-1}+2{Z}_{3i}+{Z}_{3i+1}}{4}\kern3.75em \\ {}{subd}_{6i+2}=\frac{Z_{3i-1}+3{Z}_{3i}+3{Z}_{3i+1}+{Z}_{3i+2}}{8}\\ {}\begin{array}{l}{subd}_{6i+3}=\frac{Z_{3i}+2{Z}_{3i+1}+{Z}_{3i+2}\kern1.75em }{4}\kern1.5em \\ {}{subd}_{6i+4}=\frac{Z_{3i+1}+{Z}_{3i+2}}{2}\ \\ {}{subd}_{6i+5}={Z}_{3i+2}\end{array}\end{array}\end{array}} $$

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:

$$ \underset{\theta }{\min }{HRT}_{w,h}=\underset{\theta }{\min }h\cos \theta +w\sin \theta $$
$$ minimum\ at:h\cos \theta =w\sin \theta $$
$$ \tan \theta =\mathrm{h}/\mathrm{w} $$
figure b

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:

$$ {\displaystyle \begin{array}{c}1\cos \theta +32\sin \theta =2\cos \theta +16\sin \theta \\ {}\theta =\arctan \left(1/16\right)\end{array}} $$

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-021-10642-4

Keywords

Navigation