Index: trunk/psLib/src/dataManip/psMinimize.h
===================================================================
--- trunk/psLib/src/dataManip/psMinimize.h	(revision 974)
+++ trunk/psLib/src/dataManip/psMinimize.h	(revision 1093)
@@ -12,29 +12,33 @@
  */
 
-/** This routine must ninimize a particular non-linear function */
-psFloatArray *
-psMinimize(float (*myFunction)(const psFloatArray *restrict), ///< Function to minimize
-           psFloatArray *restrict initialGuess, ///< Initial guess
-           psIntArray *restrict paramMask //!< 1 = fit for parameter, 0 = hold parameter constant
+/** This routine must minimize a non-linear function */
+psVector *
+psMinimize(float (*myFunction)(const psVector *restrict), ///< Function to minimize
+           psVector *restrict initialGuess, ///< Initial guess
+           psVector *restrict paramMask //!< 1 = fit for parameter, 0 = hold parameter constant
           );
 
 
 /** Minimize chi^2 for input data */
-psFloatArray *
-psMinimizeChi2(float (*evalModel)(const psFloatArray *restrict,
-                                  const psFloatArray *restrict), ///< Model to fit; (domain and params)
-               const psFloatArray *restrict domain, ///< The domain values for the corresponding measurements
-               const psFloatArray *restrict data, ///< Data to fit
-               const psFloatArray *restrict errors, ///< Errors in the data
-               psFloatArray *restrict initialGuess, ///< Initial guess
-               const psIntArray *restrict paramMask ///< 1 = fit for parameter, 0 = hold parameter constant
+psVector *
+psMinimizeChi2(float (*evalModel)(const psVector *restrict,
+                                  const psVector *restrict), ///< Model to fit; (domain and params)
+               float (*DevalModel)(const psVector *restrict,
+                                   const psVector *restrict,
+                                   int), ///< Derivative of model to fit; (domain and params)
+               const psImage *restrict domain, ///< The domain values for the corresponding measurements
+               const psVector *restrict data, ///< Data to fit
+               const psVector *restrict errors, ///< Errors in the data
+               psVector *restrict initialGuess, ///< Initial guess
+               const psVector *restrict paramMask, ///< 1 = fit for parameter, 0 = hold parameter constant
+               float *chiSq
               );
 
-/** Derive a polynomial fit by chi^2 minimisation --- can be done analytically */
+/** Derive a polynomial fit by chi^2 minimisation (analytically) */
 psPolynomial1D *
 psGetArrayPolynomial(psPolynomial1D myPoly, ///< Polynomial to fit
-                     const psFloatArray *restrict x, ///< Ordinates (or NULL to just use the indices)
-                     const psFloatArray *restrict y, ///< Coordinates
-                     const psFloatArray *restrict yErr ///< Errors in coordinates, or NULL
+                     const psVector *restrict x, ///< Ordinates (or NULL to just use the indices)
+                     const psVector *restrict y, ///< Coordinates
+                     const psVector *restrict yErr ///< Errors in coordinates, or NULL
                     );
 
