Muscle Calibration Sequence

I have a quick question regarding the muscle calibration sequence.

  1. As I have understood the calibration is based on position where it expects the tendon lengths to be optimal. Is the calibration sequence used in the standing model only viable for gait analyses or is it more general i.e. fitting for other type of movements for example sitting?

Kind regards!

Hi @Jan1234

The calibration calculates the tendon lengths based on the optimal fiber length L0. The position are to the best extend generalized so you can use it for a variety of motions. Depending on your motion you can always inspect the calibrated results to check for deviations or outliers according to literature references.

Best regards,
Bjørn

Thanks for your latest reply! I have a new question and I thought I could bump this thread without starting a new one. I'm investigating tendon slack lengths of quadriceps muscles and I've noticed that my calibrated values are much higher (factor 2) compared to the exsisting literature(example:Delp1990 etc.). For example Delp reports that Vastus Medialus has a slack length of 12.6 cm, meanwhile my values are closer to 25cm. Do you have any idea why such high discrepancy? I've tried numerous anthropometrics of the model but the values are always around 20cm. Could the calibration be the problem?

Hi @Jan1234

  • Did you anthropometrically scale the model to fit the Delp dataset?
    The muscle must span the whole distance from origin to insertion so any discrepancies in anthropometry will likely make it hard to obtain the same values.
  • Did you use the same fiber lengths as Delps?
  • what calibration routine did you use? the 1-parameter or 2-parameter calibration?

Best regards,
Bjørn

  1. I did the mass/length/fat scaling with the data provided. Since Delp does not explicitly state the mass of the subject I simply assumed a weight of 75kg, the height however was provided and set to 1.8m.
  2. I did not fiddle around with the fiber lengths but comparing the values they match rather well, deviate +- 0.5cm.
  3. I'm running the default 1-parameter calibration sequence.

Some additional comments:
1.Since AMs divides the muscles into parts (intermedius=6par,apparently all with different Lt0) I'm unsure how to even compare the values, maybe I could use the mean of the subpars?
2. My model is sitting(I'm simulating isometric knee extension/flexion), could that potentially influence anything?(I doubt it).
3. The reason I'm asking about the slack lengths is that the my model seems to be "to strong" compared to both experiments and literature. And Im noticing that for muscles with tendon slack length/optimal fiber ratio >1, the strength is governed by strain/force curve of the tendon. For example, MVC(Maximum Voluntary Contraction) for my model at 0 degree knee flexion is 80Nm, meanwhile most of the literature report (for similar subjects) MVC of around 20-40 Nm. Do you have any suggestions as to why a model could be "to strong"? I'm sorry if the information I provide is lackluster but I'm trying to minimize the text.

Hello @Bjorn and a late Merry Christmas & A Happy New Year!. You can disregard my previous question, I kind of figured it out. My obtained MVC are reasonable but they most likely do not match due to the lack of detailed information about the anthropometrics. I have a new question (again) but this time it's more on the technical spectrum of AMS. I'm trying to change values of the muscle parameters of Quadriceps(22 in total) with the AnyOperationSetValue operation. I was trying to create a "smarter" code that sets an entire array of muscle parameters to a vector, instead of taking them one by one. Such vector would later be changed to some other values defined as an array in my Python script. I'm running into following problem (see attached picture). I understand why the problem occurs, obviously it's impossible to set 1 value to a 22 array. I'm out of ideas how to solve this and I'm considering if it's even possible. Therefore, I have the following questions:

  • Is it even possible to do such an operation, considering the fact that SetValueOperation performs iterations for each element of the pointers ? Is there any way to create a pointer to a specific value of the vector?

  • If it is possible to you/the staff have any suggestions to solving this problem?
    I would be very grateful for any help or answers!
    Kind Regards Jan1234

Hi @Jan1234

Good to hear you figured out the differences!

Regarding you AnyScript issue I would suggest to dump out the vastus names ( you have it in the Target variable) and then just set them directly from python in your macro.

Best regards,
Bjørn

This topic was automatically closed 125 days after the last reply. New replies are no longer allowed.