mtex-toolbox / mtex

MTEX is a free Matlab toolbox for quantitative texture analysis. Homepage:
http://mtex-toolbox.github.io/
GNU General Public License v2.0
274 stars 182 forks source link

max(SO3FunComposition) does not work #2085

Closed ArneBoch closed 4 months ago

ArneBoch commented 4 months ago

Hello MTEX-Team,

using MTEX 5.10.2 we face a problem. For composit ODFs the max function does not work, try code below:

CS = crystalSymmetry('cubic'); SS = specimenSymmetry('1'); odf = 0.4uniformODF(CS,SS) + 0.6fibreODF(Miller(1,1,1,CS),zvector,'halfwidth',5*degree) [value, ori] = max(odf)

Is there any work arround?

Great thanks.

Arne

kilir commented 4 months ago

Hi Arne, for me both the current develop version as well as the recent 6.0beta3 does not throw an error. However, what would you expect as a result for the given example of a fibre odf? Cheers,

Rüdiger

ArneBoch commented 4 months ago

Hi Rüdiger,

with 6.0beta3 it works, with 5.10.2 I got this error massage (only as info): ############## Index exceeds the number of array elements. Index must not exceed 0. Error in rotation/subsref (line 6) r.a = subsref(r.a,s(1)); Error in SO3FunRBF/eval (line 58) M = SO3F.psi.K_symmetrised(g,SO3F.center(ind),SO3F.CS,SO3F.SS,'nocubictrifoldaxis',varargin{:}); Error in SO3FunComposition/eval (line 10) f = f + eval(SO3F.components{k},rot,varargin{:}); Error in SO3Fun/max (line 80) f = eval(SO3F,S3G,varargin{:});

You are right, fibreODF was a bad demo ODF. We use combinations of uniformODF, fibreODF and unimodalODF.

Thanks for help!

Arne

ralfHielscher commented 4 months ago

Hi Arne, thank you for reporting. As it seems to work in MTEX 6.0.beta3 as well as in the current development branch which will become 5.11. I close this issue. Ralf.