An apparatus for iterative material decomposition of multispectral image data, comprising: - an input unit; - a processing unit; and - an output unit; wherein, the input unit is configured to provide the processing unit with a plurality of spectral images of a region of interest comprising a body part; wherein, the input unit is configured to provide the processing unit with a plurality of sets of material coefficients for a plurality of materials, wherein for a set of material coefficients each material coefficient is associated with a corresponding material, and wherein each set of material coefficients is associated with a corresponding spectral image of the plurality of spectral images; wherein, the processing unit is configured to: i) decompose each spectral image of the plurality of spectral images into a plurality of material images and an offset image, wherein different material images correspond to different materials of the plurality of materials, and wherein a material image is represented by the material coefficient for the corresponding material multiplied by material concentrations at different image locations, and wherein the material coefficient is one of the material coefficients from the set of material coefficient for the corresponding spectral image; ii) manipulate at least one of the material images for each spectral image on the basis of at least one topological constraint relating to the body part to determine for each spectral image an updated plurality of material images and an offset image; iii) recompose a plurality of spectral images, wherein each recomposed spectral image is recomposed from the corresponding updated plurality of material images and the offset image; iv) compare intensities at image locations in a recomposed spectral image to the intensities at the image locations in its corresponding spectral image prior to recomposition to determine a plurality of corrections, wherein a correction is associated with an image location; v) modify the updated plurality of material images for each spectral image comprising utilization of the corresponding plurality of corrections; vi) iterate ii) to v) until convergence; and wherein, the output unit is configured to output at least one of the recomposed spectral images at convergence and/or output at least one of the updated material images at convergence. - an input unit; - a processing unit; and - an output unit; i) decompose each spectral image of the plurality of spectral images into a plurality of material images and an offset image, wherein different material images correspond to different materials of the plurality of materials, and wherein a material image is represented by the material coefficient for the corresponding material multiplied by material concentrations at different image locations, and wherein the material coefficient is one of the material coefficients from the set of material coefficient for the corresponding spectral image; ii) manipulate at least one of the material images for each spectral image on the basis of at least one topological constraint relating to the body part to determine for each spectral image an updated plurality of material images and an offset image; iii) recompose a plurality of spectral images, wherein each recomposed spectral image is recomposed from the corresponding updated plurality of material images and the offset image; iv) compare intensities at image locations in a recomposed spectral image to the intensities at the image locations in its corresponding spectral image prior to recomposition to determine a plurality of corrections, wherein a correction is associated with an image location; v) modify the updated plurality of material images for each spectral image comprising utilization of the corresponding plurality of corrections; vi) iterate ii) to v) until convergence; and