Class: Cicada::P3DFitter
- Inherits:
-
DistributionFitter
- Object
- DistributionFitter
- Cicada::P3DFitter
- Defined in:
- lib/cicada/fitting/p3d_fitter.rb
Overview
A distribution fitter that fits data to a P3D distribution.
Constant Summary collapse
- REQUIRED_PARAMETERS =
parameters required by the methods in this class
[]
- OPTIONAL_PARAMETERS =
parmeters used but not required in this class or only required for optional functionality
[:robust_p3d_fit_cutoff]
Instance Attribute Summary
Attributes inherited from DistributionFitter
Instance Method Summary collapse
-
#fit(objects, diffs) ⇒ Array
Fits the P3D mean- and standard-deviation-like parameters to the data.
Methods inherited from DistributionFitter
Constructor Details
This class inherits a constructor from Cicada::DistributionFitter
Instance Method Details
#fit(objects, diffs) ⇒ Array
Fits the P3D mean- and standard-deviation-like parameters to the data.
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 |
# File 'lib/cicada/fitting/p3d_fitter.rb', line 201 def fit(objects, diffs) of = P3DObjectiveFunction.new of.r = diffs tol = 1e-12 nmm = Java::edu.stanford.cfuller.imageanalysistools.fitting.NelderMeadMinimizer.new(tol) initial_mean = Math.mean(diffs) initial_width = Math.std(diffs) starting_point = Java::org.apache.commons.math3.linear.ArrayRealVector.new(2, 0.0) starting_point.setEntry(0, initial_mean) starting_point.setEntry(1, initial_width) if @parameters[:robust_p3d_fit_cutoff] then of.min_prob= @parmaeters[:robust_p3d_fit_cutoff].to_f end nmm.optimize(of, starting_point).toArray.to_a end |