 Research
 Open Access
An efficient operator splitting method for local region ChanVese model
 Hui Wang^{1, 2},
 TingZhu Huang^{1}Email author and
 Jun Liu^{1}
https://doi.org/10.1186/16876180201397
© Wang et al.; licensee Springer. 2013
 Received: 16 March 2013
 Accepted: 17 April 2013
 Published: 4 May 2013
Abstract
In this paper, we propose an efficient operator splitting method for local region ChanVese (CV) model for image segmentation. Different from the CV model, we employ the window function and absorb the local characteristics of the image for improving the CV model, which we called the local CV model. The local CV model can deal with the problem of intensity inhomogeneity which widely exists in the realworld images. By employing a Laplacian operator, we present an operator splitting method to update the level set function. Firstly, we solve the proposed model for evolving the level set function, which drives the active contour to move toward the object boundaries. Secondly, we introduce the Laplacian operator to act on the level set function as a diffusion term, which could efficiently ensure the smoothness and stability and eliminate the complex process of reinitialization. Besides, we increase a new constraint term which avoids updating the level set function seriously. Furthermore, we present an extension for vectorvalued images. Experiment results show that our method is competitive with application to synthetic and realworld images.
Keywords
 Active Contour Model
 Intensity Inhomogeneity
 Operator Splitting Method
 Contour Evolution
 Local Binary Fitting Model
1 Introduction
In the field of image processing and computer vision, image segmentation is an everlasting fundamental problem. In the past decades, a large number of different approaches to segmentation have been put forward continuously [1, 2]. the active contour model that was firstly presented by Kass et al. [3] is one of the most famous and successful models for extracting objects in image segmentation. The main idea of this model is evolving a parametric curve to extract the objects during a process of minimizing energy functional. However, this model has some intrinsic disadvantages, such as it cannot efficiently handle topological changes like splitting and merging of the evolving curve. In order to overcome this problem, the level set method [4] proposed by Osher and Sethian could easily represent the curve or surface as the zero level set of a highdimensional function which can effectively handle topological changes. With the evolution of the level set function, the curve is moving implicitly, which promotes the combination with the active contour model. Up to now, in order to provide an effective way, active contour models [3, 5–7] based on the theory of curve and surface evolutions and geometric flows have been extensively studied and successfully used in the field of image segmentation.
Generally, active contour models can be roughly categorized into two different classes: edgebased models [6, 8–11] and regionbased models [7, 12–17]. Edgebased models use local image gradient information to attract the active contour toward the object boundaries and stop there. Geodesic active contour (GAC) model [6] is a famous example of this kind, which mainly depends on the local gradient information to control the shrinking or expanding of the contour. This kind of models is sensitive to the initial conditions and sometimes with boundary leakage problems, especially to the weak or fuzzy boundaries. Comparing with the edgebased models, regionbased models aim to identify each region by introducing region descriptors to drive the contour evolution. Depending on the statistical region information, they offer advantages such as that they do not rely on any edge or gradient information and are generally robust to noise and less sensitive to the contour initialization. In this paper, we mainly focus on the regionbased models.
Among the regionbased models, the MumfordShah model [18] is well known in minimizing an energy functional to approximate the image. In the MumfordShah model, the image is decomposed into some regions. In this way, each region is approximated as a smooth function. The CV model [7], as a simplified case of the MumfordShah model, in a piecewise constant way, has achieved a good performance in twophase image segmentation with a fast convergence rate. On the basis of the CV model, in [19, 20], the authors further generalized and proposed some variants which are called piecewise constant models. On the other hand, the energy functional of the CV model is nonconvex, so it is prone to getting struck in undesirable local minima. In [21–23], the authors presented some convex relaxation methods. However, the CV model is based on the assumption that the image is statistically intensity homogeneous in each region, thus it has some limitations in actual applications. In fact, the image with intensity inhomogeneity exists widely in the real world, and it is considered as a challenging problem in image segmentation. In addition, the typical CV model can only deal with the problem of twophase segmentation. As an extension, a multiphase level set framework [24] is presented for the multiregion image segmentation, which can be used to deal with the problem of intensity inhomogeneity. However, reinitialization is required periodically for the level set function so the computational cost is expensive. On the other hand, for the benefit of vectorvalued image segmentation, in [25], the authors extended the CV model to the vectorvalued images. In [16, 17], local region information is incorporated into the active contour models; and it is worth mentioning that the local binary fitting (LBF) model, also called regionscalable fitting model, shows a better performance than the CV model on extracting objects to the images with intensity inhomogeneity. However, the LBF model has a large dependency on the contour initialization; especially if the initial position of the contour is far away from the objects, the LBF model may be prone to getting stuck in local minima. Apart from the LBF model, in [26–28], active contour models mainly based on the local region information are further developed and effectively used to segment the images with intensity inhomogeneity. In [29], Tao et al. integrated the multiple piecewise constant with the GAC model, which can also overcome the problem of intensity inhomogeneity and multiple objects for image segmentation. Besides, in [30], the authors integrated the local region information with the CV model, which is effective for the images with intensity inhomogeneity.
In the traditional level set methods, in order to keep the regularity and numerical stability during the evolving process, periodical reinitialization [31–33] as a numeric remedy is introduced to maintain the level set function regularity. However, this method is timeconsuming and sometimes it may move the location of the zero level set [34]. Considering these problems, in [35–37], the authors proposed a series of variational level set methods, which can approximately maintain the signed distance property with the level set evolution. Therefore, these methods completely avoid the reinitialization procedure. Besides, in [27, 38], the authors used the Gaussian filtering processing to regularize the level set function.
In particular, Zhang et al. [39] proposed a reaction diffusion method, in which the level set evolving process can be divided two steps, where the reinitialization procedure is also completely unnecessary.
In this paper, we propose an efficient operator splitting method for local region CV model, which employs the local image region information to drive the active contour evolving. Unlike the CV model, we bring in a window function to calculate the local means of image intensities inside and outside the contour, respectively, and apply them to improve the CV model. For the sake of simplicity, we call it as local CV model. In the level set evolving process, the local CV model mainly relies on the local image region information so that it is desirable to segment the images with intensity inhomogeneity. Furthermore, considering the regularity of the level set function, we present an operator splitting method to update the level set function, which performs well in maintaining its smoothness and stability. Specifically, in the first step, the level set formulation is iterated. In the second step, motivated by the relative contributions in [27, 39], we introduce the Laplacian operator to act on the level set function, which forms a diffusion term to regularize the level set function. This diffusion term can ensure the smoothness and stability of the level set function, thus the costly reinitialization procedure is not essential. In addition, we increase a new constraint term, which avoids updating the level set function seriously and maintains its stability as well. Moreover, we extend our method to the vectorvalued image segmentation, as a special case, which can be used to extract the objects on the color images.
The outline of this paper is organized as follows. In Section 2, we mainly review the wellknown MumfordShah model and the CV model and its extension form on the vectorvalued images. In Section 3, we first propose the local region CV model, and then we present an operator splitting method to realize the level set evolution and keep its smoothness and stability at the same time. Furthermore, we also extend our method to the vectorvalued images. In Section 4, we carry out some experiments to demonstrate the effectiveness and performance of our method. Finally, we summarize this paper in Section 5.
2 Previous related works
3 An efficient operator splitting method for local region ChanVese model
3.1 A local region ChanVese model
where ${c}_{1}^{\mathrm{L}}$ and ${c}_{2}^{\mathrm{L}}$ are with local region property of the image, thus we call Equation 13 as the local region ChanVese model. Comparing with the level set formulation (3), one of the primary advantages here is that instead of the global region information, we bring in the local image region information to drive the contour evolution. In this way, by adjusting the size and variance of the Gaussian window function, the image region with intensity inhomogeneity can be distinctively treated with the contour evolution, which greatly enhances the improvement of segmentation quality.
In numerical implementation, we use the Neumann boundary condition. In fact, we can directly update the level set function by Equation 14 after initialization. Nevertheless, the regularity and stability of the level set function cannot be availably maintained during the evolving process.
3.2 An operator splitting method
In the level set methods, how to maintain the smoothness and stability is a key problem. As discussed in Section 1, the reinitialization [32] has been extensively used as a numerical remedy for maintaining the stability and the signed distance property during the level set evolution. However, the procedure is timeconsuming, and, more importantly, it may lead to the movement of the zero level set location. In [35–37], variational level set methods are presented, all of which effectively eliminate the reinitialization procedure and improve the computational efficiency. But these methods are not easily extended to other level set methods based on partial differential equations [39], and sometimes with the boundary leakage problems, which extremely restrict their extension and utilization on the image segmentation. More specifically, it is essential and extremely important to regularize the level set function during its evolution process. In other words, for our proposed level set formulation (13), the regularization procedure of the level set function is a requisite with its evolution process. Consequently, motivated by the discussion in the works of [27, 39], we present an operator splitting method to evolve the level set function as follows:

Step 1. Based on Equation 14, update the level set function by ϕ ^{ n+1/2}=ϕ ^{ n }+Δ t _{1}·L(ϕ ^{ n }).

Step 2. Compute ϕ ^{ n+1}=ϕ ^{ n+1/2}+Δ t _{2}·Δ ϕ ^{ n+1/2}+Δ t _{3}·(ϕ ^{ n+1/2}−ϕ ^{ n }).
Remark 1
In this two steps, Δ t _{1} is the time step of step 1. Δ t _{2} and Δ t _{3} represent the two time steps of step 2. In step 1, we obtain ϕ ^{ n+1/2} and then utilize it in step 2, where Δ ϕ ^{ n+1/2} represents the Laplacian operator that acts on the level set function. The third term of step 2 is a new restraint term to avoid updating the level set function seriously.
The purpose of this operator splitting method is significant. Owing to the execution of step 1, the contour evolves toward the object boundaries. After that, as a smoothing way, step 2 is extremely important as well for it eliminates the costly reinitialization procedure and avoids updating the level set function severely. As indicated in [27, 38], the evolution of a function with its Laplacian is equivalent to a Gaussian filtering process to regularize the level set function. Thus, step 2 plays a natural role for smoothing the level set function and maintaining its stability. Actually, as a following procedure of step 1, step 2 can be influenced by step 1 at the same time. If the level set function is too steep, it needs to properly increase Δ t _{2} so as to smooth more. On the other hand, step 2 has a direct impact on step 1. It is just the mutual cooperation of these two steps that promotes the steady evolution of the level set function and reduces the computational complexity. More significantly, this operator splitting method can be easily extended to other related level set methods based on partial differential equations.
3.3 An extension on vectorvalued images
where I _{ i } is the i th channel of the image.
From the construction of Equation 17, the evolving contour is driven by the local region force. As a result of this replacement, all the local region information in every channel of the vectorvalued image is integrated with each other, which is beneficial to detecting the object boundaries. In addition, it can also avoid some limitations of using a single channel for the vectorvalued images.
3.4 Numerical implementation
In numerical implementation, as discussed in [39], the second time step Δ t _{2} should be set small, which can reduce the risk of moving the zero level set away from its original location. Δ t _{1} is related to updating of the level set function and has an impact on its smoothness. Generally, the choices of this two time steps should be comparable with Δ t _{2}<Δ t _{1}. Furthermore, except for maintaining the smoothness and numerical stability, choosing a small Δ t _{2} is reasonable for avoiding the emergence of boundary leakage problems. Similarly, Δ t _{3} should be selected small for maintaining the stability of the level set function satisfactorily.
 1.
Input an original image I. Initialize the level set function ϕ, where we can choose a signed distance function [7, 25] or a binary function [27, 35, 36, 39].
 2.
If I is a gray scale image, compute ${c}_{1}^{\mathrm{L}}$ and ${c}_{2}^{\mathrm{L}}$ by Equations 11 and 12. On the other hand, if I is a vectorvalued image, compute ${c}_{i}^{+L}$ and ${c}_{i}^{L}$ by Equations 15 and 16.
 3.
Implement the presented operator splitting method in Subsection 3.2 sequentially.
 4.
Check whether the level set function satisfies the stationary condition. If not, return to step 2.
Remark 2
In step 2, we first need to judge whether the imputing image is a gray scale image or not, where we can test it with the help of some simple experiments, such as the MATLAB program (MathWorks Inc, Natick, MA, USA). Especially, in most cases, the color image can be distinguished by direct observation.
Remark 3
Our method is different from the methods in [41, 42]. Even if the authors also introduced the local region model by employing the maximum a posteriori estimation and Parzen method, they mainly focused on the statistical interpretation and application of the MumfordShah model. Besides, they approximated it from a maximum a posteriori model where each region is modeled by the mean estimated in a local Gaussian neighborhood. However, focusing on the improvement of the CV model, our method use the local region information to replace the global region information and present an operator splitting method for implementation. Furthermore, our method is easily extended to the vectorvalued images.
4 Experimental results
In this section, a series of synthetical and realworld images are used to test the effectiveness and performance of our method. All the experiments are implemented in Matlab 7.0 on a personal computer with Intel Pentium D (Intel Corp, Sta. Clara, CA, USA) CPU 3.00 GHz and 1 GB of memory. We choose the size of the truncated Gaussian window as 4k+1 by 4k+1, where k is the greatest integer smaller than the standard deviation σ. Unless otherwise specified, the default parameters are set as Δ t _{1}=0.1, Δ t _{2}=0.01, Δ t _{3}=0.01, ε=1.0, and λ _{1}=λ _{2}=1.0, and for i=1,⋯,N, ${\lambda}_{i}^{+}={\lambda}_{i}^{}=1.0$. Besides, the parameters σ and μ should be set as different values according to the image characteristics, such as intensity, shape, and color.
Iterations and CPU time (in seconds) of two different kinds of level set initialization in Figure 3
Iterations and CPU time (in seconds) for segmenting multiobjects with different intensities in Figure 4
Row 1  Row 2  Row 3  

Iteration  Time (s)  Iteration  Time (s)  Iteration  Time (s)  
CV  120  3.50  120  3.25  150  4.08 
SBGFRLS [38]  80  1.91  80  1.94  100  2.35 
Our method  140  11.58  140  11.24  180  15.65 
5 Conclusion
In this paper, we have proposed an efficient operator splitting method for local region CV model. By introducing the window function, we increased the local image region information to improve the CV model, which performs better than the traditional CV model on segmenting images with intensity inhomogeneity. In order to regularize the level set function and maintain the numerical stability during the level set evolution, we presented an operator splitting method. In this method, we employed the Laplacian operator to act on the level set function and increased a new restraint term to prevent updating the level set function seriously. Comparing with other related methods [7, 17, 42], the motivation and superiority of our method have been discussed in details. Furthermore, our method has been extended to the vectorvalued image segmentation, such as the color image. Our method can effectively eliminate the reinitialization procedure and ensure the numerical calculation stability. A large number of numerical experiments have been used to test and demonstrate that our method can effectively segment the gray scale images with intensity inhomogeneity and multiobjects with different intensities, and perform well on the realworld color images.
Declarations
Acknowledgements
The authors would like to thank the editor and the anonymous referee for their valuable comments and suggestions, which are very helpful for revising and improving this paper. This research is supported by NSFC (no. 61170311), Chinese Universities Specialized Research Fund for the Doctoral Program (20110185110020), Sichuan Provincial Department of Science & Technology Research Project (no. 12ZC1802), and the Fundamental Research Funds for the Central Universities (no. 09CX04003A).
Authors’ Affiliations
References
 Cremers D, Rousson M, Deriche R: A review of statistical approaches to level set segmentation: integrating color, texture, motion and shape. Int. J. Comput. Vis 2007, 72(2):195215. 10.1007/s1126300687111View ArticleGoogle Scholar
 Mitiche A, Ayed IB: Variational and level set methods in image segmentation. Berlin,Heidelberg: SpringerVerlag; 2010.Google Scholar
 Kass M, Witkin A, Terzopoulos D: Snakes: active contour models. Int. J. Comput. Vis 1988, 1(4):321331. 10.1007/BF00133570View ArticleMATHGoogle Scholar
 Osher S, Sethian JA: Fronts propagating with curvaturedependent speed: algorithms based on HamiltonJacobi formulation. J. Comput. Phys 1988, 79(1):1249. 10.1016/00219991(88)900022MathSciNetView ArticleMATHGoogle Scholar
 Caselles V, Catte F, Coll T, Dibos F: A geometric model for active contours in image processing. Numer. math 1993, 66(1):131. 10.1007/BF01385685MathSciNetView ArticleMATHGoogle Scholar
 Caselles V, Kimmel R, Sapiro G: Geodesic active contours. Int. J. Comput. Vis 1997, 22(1):6179. 10.1023/A:1007979827043View ArticleMATHGoogle Scholar
 Chan TF, Vese LA: Active contours without edges. IEEE Trans. Image Process 2001, 10(2):266277. 10.1109/83.902291View ArticleMATHGoogle Scholar
 Park J, Keller J: Snakes on the watershed. IEEE Trans. Pattern Anal. Mach. Intell 2001, 23(10):12011205. 10.1109/34.954609View ArticleGoogle Scholar
 Goldenberg R, Kimmel R, Rivlin E, Rudzsky M: Fast geodesic active contours. IEEE Trans. Image Process 2001, 10(10):14671475. 10.1109/83.951533MathSciNetView ArticleGoogle Scholar
 Vasilevskiy A, Siddiqi K: Fluxmaximizing geometric flows. IEEE Trans. Pattern Anal. Mach. Intell 2002, 24(12):15651578. 10.1109/TPAMI.2002.1114849View ArticleMATHGoogle Scholar
 Xiang Y, Chung A, Ye J: An active contour model for image segmentation based on elastic interaction. J. Comput. Phys 2006, 219(1):455476. 10.1016/j.jcp.2006.03.026MathSciNetView ArticleMATHGoogle Scholar
 Samson C, BlancFeraud L, Aubert G, Zerubia J: A level set model for image classification. Int. J. Comput. Vis 2000, 40(3):187197. 10.1023/A:1008183109594View ArticleMATHGoogle Scholar
 Tsai A, Yezzi A, Willsky AS: Curve evolution implementation of the MumfordShah functional for image segmentation, denoising, interpolation, and magnification. IEEE Trans. Image Process 2001, 10(8):11691186. 10.1109/83.935033View ArticleMATHGoogle Scholar
 Kim J, Fisher J, Yezzi A, Cetin M, Willsky A: A nonparametric statistical method for image segmentation using information theory and curve evolution. IEEE Trans. Image Process 2005, 14(10):14861502.MathSciNetView ArticleGoogle Scholar
 A Sarti C, Corsi E, Mazzini C: Lamberti, Maximum likelihood segmentation of ultrasound images with Rayleigh distribution. IEEE Trans. Ultrason. Ferroelectr. Freq. Control 2005, 52(6):947960.View ArticleGoogle Scholar
 Li C, Kao JC, Gore Z: Ding, Implicit active contours driven by local binary fitting energy, in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (IEEE Press. USA 2007, 17.Google Scholar
 Li C, Kao C, Gore JC, Ding Z: Minimization of regionscalable fitting energy for image segmentation. IEEE Trans. Image Process 2008, 17(10):19401949.MathSciNetView ArticleGoogle Scholar
 Mumford D, Shah J: Optimal approximations by piecewise smooth functions and associated variational problems. Commun. Pure Appl. Math 1989, 42(5):577685. 10.1002/cpa.3160420503MathSciNetView ArticleMATHGoogle Scholar
 Lie J, Lysaker M, Tai X: A variant of the level set method and applications to image segmentation. Math. Comp 2006, 75(255):11551174. 10.1090/S0025571806018357MathSciNetView ArticleMATHGoogle Scholar
 Lie J, Lysaker M, Tai X, A binary level set model and some applications to MumfordShah image segmentation: IEEE Trans. Image Process. 2006, 15(5):11711181.View ArticleGoogle Scholar
 Chan TF, Esedoglu S, Nikolova M: Algorithms for finding global minimizers of image segmentation and denoising models. SIAM. J. Appl. Math 2006, 66(5):16321648.MathSciNetMATHGoogle Scholar
 Bresson X, Esedoglu S, Vandergheynst P, Thiran J, Osher S: Fast global minimization of the active contour/snake model. J. Math. Imaging Vis 2007, 28(2):151167. 10.1007/s1085100700020MathSciNetView ArticleGoogle Scholar
 Bae E, Yuan J, Tai X: Global minimization for continuous multiphase partitioning problems using a dual approach. Int. J. Comput. Vis 2009, 92(1):112129.MathSciNetView ArticleMATHGoogle Scholar
 Vese LA, Chan TF: A multiphase level set framework for image segmentation using the Mumford and Shah model. Int. J. Comput. Vis 2002, 50(3):271293. 10.1023/A:1020874308076View ArticleMATHGoogle Scholar
 Chan TF, Sandberg BY, Vese LA: Active contours without edges for vectorvalued images. J. Visual Communic. Imag. Representation 2000, 11(2):130141. 10.1006/jvci.1999.0442View ArticleGoogle Scholar
 Wang L, He L, Mishra A, Li C: Active contours driven by local Gaussian distribution fitting energy. Signal Process 2009, 89(12):24352447. 10.1016/j.sigpro.2009.03.014View ArticleMATHGoogle Scholar
 Zhang K, Song H, Zhang L: Active contours driven by local image fitting energy. Pattern Recognit 2010, 43(4):11991206. 10.1016/j.patcog.2009.10.010View ArticleMATHGoogle Scholar
 Lankton S, Tannenbaum A: Localizing regionbased active contours. IEEE Trans. Image Process 2008, 17(11):20292039.MathSciNetView ArticleGoogle Scholar
 Tao W, Tai X: Multiple piecewise constant with geodesic active contours (MPCGAC) framework for interactive images segmentation using graph cut optimization. Image Vis. Comput 2011, 29(8):499508. 10.1016/j.imavis.2011.03.002View ArticleGoogle Scholar
 Wang X, Huang D, Xu H: An efficient local ChanVese model for image segmentation. Pattern Recognit 2010, 43(3):603618. 10.1016/j.patcog.2009.08.002View ArticleMATHGoogle Scholar
 Sussman M, Smereka P, Osher S: A level set approach for computing solutions to incompressible twophase flow. J. Comput. Phys 1994, 119(1):146159.View ArticleMATHGoogle Scholar
 Sussman M, Fatemi E: An efficient, interface preserving level set redistancing algorithm and its application to interfacial incompressible fluid flow. SIAM J. Sci. Comput 1999, 20(4):11651191. 10.1137/S1064827596298245MathSciNetView ArticleMATHGoogle Scholar
 Gomes J, Faugeras O: Reconciling distance functions and level sets. J. Visual Communic. Imag. Representation 2000, 11(2):209223. 10.1006/jvci.1999.0439View ArticleGoogle Scholar
 Peng D, Merriman B, Osher S, Zhao H, Kang M: A PDEbased fast local level set method. J. Comput. Phys 1999, 155(2):410438. 10.1006/jcph.1999.6345MathSciNetView ArticleMATHGoogle Scholar
 Li C, Xu C, Gui C, Fox MD: Level set evolution without reinitialization: a new variational formulation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. USA: IEEE Press; 2005:430436.Google Scholar
 Li C, Xu C, Gui C, Fox MD: Distance regularized level set evolution and its application to image segmentation. IEEE Trans. Image Process 2010, 19(12):32433254.MathSciNetView ArticleGoogle Scholar
 Xie X: Active contouring based on gradient vector interaction and constrained level set diffusion. IEEE Trans. Image Process 2010, 19(1):154164.MathSciNetView ArticleGoogle Scholar
 Zhang K, Zhang L, Song H, Zhou W: Active contours with selective local or global segmentation: a new formulation and level set method. Image Vis. Comput 2010, 28(4):668676. 10.1016/j.imavis.2009.10.009View ArticleGoogle Scholar
 Zhang K, Zhang L, Song H, Zhang D: Reinitialization free level set evolution via reaction diffusion. IEEE Trans. Image Process 2013, 22(1):258271.MathSciNetView ArticleGoogle Scholar
 Shen J: A stochasticvariational model for soft MumfordShah segmentation. Int. J. Biomed. Imaging 2006, 2006: 114.View ArticleGoogle Scholar
 Brox T, Cremers D: On the statistical interpretation of the piecewise smooth MumfordShah functional. In Proceedings of the 1st International Conference on Scale Space and Variational Methods in Computer Vision. Berlin: Springer; 2007:203213.View ArticleGoogle Scholar
 Brox T, Cremers D: On local region models and a statistical interpretation of the piecewise smooth MumfordShah functional. Int. J. Comput. Vis 2009, 84(2):184193. 10.1007/s1126300801535View ArticleGoogle Scholar
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.