Matrix package?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Matrix package?

Kenneth Sloan-2
Is there a standard Matrix package associated with ImageJ?  I have some Java code that depends on JAMA to do things like Eigenvector Decomposition which I was thinking of incorporating into some new plugins.  I typically do this kind of analysis outside of ImageJ - but it has become more and more desirable to move some of this inside existing plugins.

Easiest, of course, is if I could continue to use JAMA - but I'm willing to consider other options.

I do note that JAMA appears to no longer be actively supported, so perhaps I should move on to something else, anyway?

My usage is very lightweight.  Speed is not a consideration.  Ease of use and a friendly API are my primary criteria.

--
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
Reply | Threaded
Open this post in threaded view
|

Re: Matrix package?

Robert Dougherty
Kenneth,I’ve been using Jampack with ImageJ for many years with mostly good results. Jama is not as useful to me because it does not have complex matrices. Eigen in C++ is faster and easier to code, but it is not ImageJ. Jampack looks like it was never supported at all, but it seems not to have needed it. All matrices in Jampack are complex and there must be a penalty for using it for real matrices, but it can be done. Also Jampack is lacking a lot of functions that linear algebra packages typically offer, but it does have the basic ones.Bob

Sent from Smallbiz Yahoo Mail for iPhone


On Tuesday, February 16, 2021, 6:31 PM, Kenneth Sloan <[hidden email]> wrote:

Is there a standard Matrix package associated with ImageJ?  I have some Java code that depends on JAMA to do things like Eigenvector Decomposition which I was thinking of incorporating into some new plugins.  I typically do this kind of analysis outside of ImageJ - but it has become more and more desirable to move some of this inside existing plugins.

Easiest, of course, is if I could continue to use JAMA - but I'm willing to consider other options.

I do note that JAMA appears to no longer be actively supported, so perhaps I should move on to something else, anyway?

My usage is very lightweight.  Speed is not a consideration.  Ease of use and a friendly API are my primary criteria.

--
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
Reply | Threaded
Open this post in threaded view
|

Re: Matrix package?

Kenneth Sloan-2
Is Jampack somehow "blessed" for ImageJ use?  I'm mostly concerned about duplicating a capability that's already there (but I don't know about).  I suppose I'm  also worried about name space clashes.

At the moment, I have no real need for complex matrices.  I'm doing dirt-simple stuff (mostly finding Eigenvectors/values for 2d or 3D real matrices (for shape description).  I've begun to bump up across a few problems where it might be convenient to solve linear systems, but so far I haven't even needed that.  Most recently I was looking for methods of finding circumspheres - most high level descriptions are written in terms of solving a linear system, but I managed to find a close-form solution that works just fine.  But....I can see that I'll eventually be tackling problems that  don't have well-known closed form solutions.

Essentially, I have about 20  lines of code that depend on JAMA.  This is embedded in a 2D (and soon 3D) Shape description package.  In the past, my approach has been to export data from ImageJ and handle the analysis separately, but now I'm  feeling motivated to move some of this analysis into a few plugins that I'm working on.

So...for either JAMA or Jampack - what are the mechanics of building a plugin that depends on them?  I've only recently started distributing my plugins through an ImageJ Update Site and often struggle with some of the details.

--
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
Reply | Threaded
Open this post in threaded view
|

Re: Matrix package?

Dimiter Prodanov (imec)
In reply to this post by Kenneth Sloan-2
Hi Bob,
Where do you need to use complex matrices?
I am using JAMA from time to time and for small projects it is OK.

Best regards,
Dimiter

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Matrix package?

Dr. Michael DOUBE
In reply to this post by Kenneth Sloan-2
Hi Kenneth,

In BoneJ we have used JAMA in the past for eigendecomposition of 3×3 matrices. We are now using JOML: https://github.com/JOML-CI/JOML although I would have to go back to my group to remind me of the justification for that move, maybe just that it is 'Mavenized'.

Best regards,

Michael


On 17/02/2021 10:29, Kenneth Sloan wrote:

Is there a standard Matrix package associated with ImageJ?  I have some Java code that depends on JAMA to do things like Eigenvector Decomposition which I was thinking of incorporating into some new plugins.  I typically do this kind of analysis outside of ImageJ - but it has become more and more desirable to move some of this inside existing plugins.

Easiest, of course, is if I could continue to use JAMA - but I'm willing to consider other options.

I do note that JAMA appears to no longer be actively supported, so perhaps I should move on to something else, anyway?

My usage is very lightweight.  Speed is not a consideration.  Ease of use and a friendly API are my primary criteria.

--
Kenneth Sloan
[hidden email]<mailto:[hidden email]>
Vision is the art of seeing what is invisible to others.

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html


--
[Jockey Club College of Veterinary Medicine and                      Life Sciences - City University of Hong Kong]



Dr. Michael Doube
BVSc, BPhil, PhD, PGCert Vet Ed, MRCVS, FRMS

Associate Professor
Department of Infectious Diseases
and Public Health

5/F, Block 2, To Yuen Building
31 To Yuen Street
Kowloon, Hong Kong
Tel: (852) 3442 5296
Fax: (852) 3442 0589
Website: www.cityu.edu.hk/ph<http://www.cityu.edu.hk/ph>



Disclaimer: This email (including any attachments) is for the use of the intended recipient only and may contain confidential information and/or copyright material. If you are not the intended recipient, please notify the sender immediately and delete this email and all copies from your system. Any unauthorized use, disclosure, reproduction, copying, distribution, or other form of unauthorized dissemination of the contents is expressly prohibited.

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Matrix package?

Robert Smith
In reply to this post by Dimiter Prodanov (imec)
Hello Dimiter Prodanov,
I am sorry, I need a little more information about how you need to use it, with ImageJ/Fuji it is not readily visible and you need to use your imagination but yes it is possible. I often do so.
How large of a data set are you looking at and how many layers?  Range 1---100 or 1—infinity? The range is not important but explaining how to do it is. Color or grey scale?
I do not need any private information, only basic parameters.
I look forward to your response,
Bob



Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10

From: Dimiter Prodanov (imec)<mailto:[hidden email]>
Sent: Wednesday, February 17, 2021 3:19 AM
To: [hidden email]<mailto:[hidden email]>
Subject: Re: Matrix package?

Hi Bob,
Where do you need to use complex matrices?
I am using JAMA from time to time and for small projects it is OK.

Best regards,
Dimiter

--
ImageJ mailing list: https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fimagej.nih.gov%2Fij%2Flist.html&amp;data=04%7C01%7C%7C9676b928a0e842b590ba08d8d31ccabc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637491467913501580%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=FLP2Z6X3AQOIO9Cc9PJESnfaZMgTklSx%2FEx%2FXV6T%2Fdg%3D&amp;reserved=0


--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Matrix package?

Robert Dougherty
In reply to this post by Dimiter Prodanov (imec)
Dimiter,It usually (always?) comes from frequency-domain analysis. Often it is temporal frequency. Something is vibrating or oscillating and it’s behavior is assumed to be proportional to exp(i omega t). Plugging this into the differential equations changes the operator d/dt into i*omega and changes a system of differential equations into a system of algebraic equations with complex coefficients. One then solves this system with Jampack or similar. I do this in acoustics with arrays of, say, 40 microphones leading to 40x40 matrices.  There are lots of periodic processes in biology: heartbeat, respiration, brain waves, vibrational modes of spike proteins, seasonal epidemiology,...Is it important for ImageJ to have analytical capabilities built in? It does have FFTs (real and complex expression) but these are explicitly used in image processing. The obvious image processing application of linear algebra is singular value decomposition for eigenfaces and such. At first glance, this would not need complex matrices. However, it would be possible for this type of analysis to wander into the frequency domain. The frequency might be spatial frequency, as it is for the current FFTs.Bob

Sent from Smallbiz Yahoo Mail for iPhone


On Wednesday, February 17, 2021, 12:19 AM, Dimiter Prodanov (imec) <[hidden email]> wrote:

Hi Bob,
Where do you need to use complex matrices?
I am using JAMA from time to time and for small projects it is OK.

Best regards,
Dimiter

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html




--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html