# curve fitting

4 messages
Open this post in threaded view
|

## curve fitting

 I'm about to have two curve/surface fitting problems.  They aren't necessarily tied to images, per se - but I see (among other things) an ImageJ plugin called CurveFitter. I'm interested in opinions: Constraints:    * I'd like to stick to Java code - either as an ImageJ plugin, or stand-alone.     I can stumble along in R (and am interested in expanding my R skill set);     MatLab is completely foreign to me (and I'm not eager to learn it)     Java is "home" and I'm happy to tackle arbitrarily difficult problems there.  * In 2D, I'm interested in both polynomial functions and also DoG (difference of Gaussians)    I could probably live with low degree polynomials (perhaps 4-6?)     - DoG might be an extravagance.  Of course, something that allowed for    arbitrary code to define a function f(x) or g(x,y) (and derivatives) would work.  * Once a fit is found, I'd like derivatives of the fitted function - I mostly care     about zero-derivatives, but min/max are also of interest.  If I'm using a package     that allowed/required me to write arbitrary f(x) and f'(x)...that's fine.  * 3D is interesting, but probably a side project.  Here, I'd love to directly fit     a smooth 2D surface embedded in 3D.  My functions are "almost radially symmetric" - close     enough that a radially symmetric answer would be OK, but not optimal.  Again, it     would be useful to have derivative information.  (hint: it appears that 2D DoG is a     decent fit to the 2D data, but a 3D DoG is not)  * assume that my 2D data is a set of x,y pairs (with x's being unique), and that    my 3D data is a set of x,y,z triples (with unique x,y locations).  2D points are    likely to be equally spaced in x; 3D points should NOT be assumed to follow any    particular pattern (and certainly not form an "image" in x,y)  * assume the data is available as a text file, probably in .csv format For the 2D case, it's not clear to me that ImageJ is the right platform - but it looks like there has been some useful work done.  For the 3D case, ImageJ seems more likely, even though the data do not necessarily form an "image". So far, I've found "CurveFitter.java" - an ImageJ plugin.  Comments on how well it fits my constraints, and hints on how to best use it would be most welcome. I'm not sure if answers are of general interest.  Usually it's best to respond to the entire list.  If you prefer, feel free to contact me directly. Thanks for your help! -- Kenneth Sloan [hidden email] Vision is the art of seeing what is invisible to others. -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Open this post in threaded view
|

## Re: curve fitting

 Dear Kenneth, up to now I only used the ImageJ macro fit functionality with various model functions, implemented ones and self-defined ones. I found that the behavior is on a professional level that equals behavior I know from KaleidaGraph. For general regression I think both use the same approach. HTH Best regards Herbie ::::::::::::::::::::::::::::::::::::::::::: Am 14.12.17 um 18:11 schrieb Kenneth Sloan: > I'm about to have two curve/surface fitting problems.  They aren't necessarily > tied to images, per se - but I see (among other things) an ImageJ plugin called CurveFitter. > > I'm interested in opinions: > > Constraints: >   >   * I'd like to stick to Java code - either as an ImageJ plugin, or stand-alone. >      I can stumble along in R (and am interested in expanding my R skill set); >      MatLab is completely foreign to me (and I'm not eager to learn it) >      Java is "home" and I'm happy to tackle arbitrarily difficult problems there. > >   * In 2D, I'm interested in both polynomial functions and also DoG (difference of Gaussians) >     I could probably live with low degree polynomials (perhaps 4-6?) >      - DoG might be an extravagance.  Of course, something that allowed for >     arbitrary code to define a function f(x) or g(x,y) (and derivatives) would work. > >   * Once a fit is found, I'd like derivatives of the fitted function - I mostly care >      about zero-derivatives, but min/max are also of interest.  If I'm using a package >      that allowed/required me to write arbitrary f(x) and f'(x)...that's fine. > >   * 3D is interesting, but probably a side project.  Here, I'd love to directly fit >      a smooth 2D surface embedded in 3D.  My functions are "almost radially symmetric" - close >      enough that a radially symmetric answer would be OK, but not optimal.  Again, it >      would be useful to have derivative information.  (hint: it appears that 2D DoG is a >      decent fit to the 2D data, but a 3D DoG is not) > >   * assume that my 2D data is a set of x,y pairs (with x's being unique), and that >     my 3D data is a set of x,y,z triples (with unique x,y locations).  2D points are >     likely to be equally spaced in x; 3D points should NOT be assumed to follow any >     particular pattern (and certainly not form an "image" in x,y) > >   * assume the data is available as a text file, probably in .csv format > > For the 2D case, it's not clear to me that ImageJ is the right platform - but it looks like there has been some useful work done.  For the 3D case, ImageJ seems more likely, even though the data do not necessarily form an "image". > > So far, I've found "CurveFitter.java" - an ImageJ plugin.  Comments on how well it fits my constraints, and hints on how to best use it would be most welcome. > > I'm not sure if answers are of general interest.  Usually it's best to respond to the entire list.  If you prefer, feel free to contact me directly. > > Thanks for your help! > > -- > Kenneth Sloan > [hidden email] > Vision is the art of seeing what is invisible to others. > > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html> -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html