1. A method of generating a multidimensional LUT (look-up-table) representing a color transformation function associated with an imaging device, the method comprising: a) generating a set of LUT node locations by solving a first optimization problem to minimize a first defined error criterion calculated over a set of training samples associated with the color transformation function, the set of LUT node locations allocating more nodes in regions of the color transformation function including a higher curvature relative to other regions of the color transformation function; b) generating a set of LUT node values associated with the respective LUT node locations generated in step a) by solving a second optimization problem to minimize a second defined error criterion calculated over the set of training samples, the second error criterion accounting for one or more interpolation processes associated with determining LUT values at LUT non-nodal locations; c) generating a second set of LUT node locations by solving a third optimization problem as a function of the set of LUT node values generated in step b); d) repeating step b) to generate a second set of LUT node values associated with the second of LUT node locations, and iteratively performing steps c) and d) based on LUT node values and locations determined in the previous iteration, until a termination condition is satisfied, wherein solving the third optimization problem of step c) includes: minimizing the cost function 
 X nd *=arg min∥ y tr −W X nd ·y nd ∥ 2 
 y tr ∈ R T , W X nd ∈ R T×M , y nd ∈ R M , where T=no. of training samples; M=no. of LUT nodes W Xnd is a T×M matrix, X nd * represents the optimized set of LUT node locations, the training set S={X tr , y tr }, y nd represents the set of LUT node values generated in a previous step; and the optimization includes the following constraints: Selection constraint : w i T e i =0, w i ∈ R M —ith row of W, e i —membership vector Non-negativity: w ij ≧0, i=1,2,. .. , T, j=1,2,. .. . , M Interpolation constraint: W X nd ·1=1, where 1 ∈ R M is a vector of all 1's; and mapping the optimized W Xnd to the corresponding set of LUT node locations X nd .