  We propose algorithms and software for computing projections onto the
intersection of multiple convex and non-convex constraint sets. The software
package, called SetIntersectionProjection, is intended for the regularization
of inverse problems in physical parameter estimation and image processing. The
primary design criterion is working with multiple sets, which allows us to
solve inverse problems with multiple pieces of prior knowledge. Our algorithms
outperform the well known Dykstra's algorithm when individual sets are not easy
to project onto because we exploit similarities between constraint sets. Other
design choices that make the software fast and practical to use, include
recently developed automatic selection methods for auxiliary algorithm
parameters, fine and coarse grained parallelism, and a multilevel acceleration
scheme. We provide implementation details and examples that show how the
software can be used to regularize inverse problems. Results show that we
benefit from working with all available prior information and are not limited
to one or two regularizers because of algorithmic, computational, or
hyper-parameter selection issues.
