1. A method for shifting the hue of an input color represented by numeric input coordinates of an input color space, thereby creating an output color represented by numeric output coordinates of an output color space, said method comprising: a) receiving a plurality of hue values and corresponding hue shift values at a computing device, wherein said values are defined by at least one coordinate in a non-perceptually-uniform color space (NPU space), said NPU space being indexed by a hue coordinate, HH, together with at least one other coordinate; b) expressing the hue attribute of said input color as a first NPU color represented in the coordinates of said NPU space; c) applying said hue shift values to said first NPU color based on said hue values, thereby creating a second NPU color having a shifted hue attribute; d) creating a first PU color by representing said input color in the coordinates of a PU space, said PU space being a perceptually uniform color space indexed by a hue coordinate, h, together with at least one other coordinate; e) creating a second PU color by representing said second NPU color in the coordinates of said PU space; f) creating a third PU color by combining the hue coordinate of said second PU color together with another coordinate of said first PU color; and g) creating said output color by converting said third PU color to said output color space.