AnyCamera

Hi there,

I use the v5 ans the rep. 1.3.1. I’m implementing a camera mounted on the scapula and pointing towards the glenoid cavity. I would like to trigger ‘On’ the camera only at the beginning of the inverse dynamic analysis. However, since I have a sequence of operations, the camera is ‘On’ also for the calibration.

How do I resolve this issue ?

Thank you

Pierre

Hi Pierre,

very good question! Theoretically that should work. But to be honest, I (nor anybody here) tried that before. So far, I delete the pictures during calibration always manually. The manual says:

The camera recorder contains two members for controlling the recording, Trig and ResetTrig. Trig is the trigger state that indicates whether the image should be saved or not. ResetTrig is a state indicating whether to reset the camera or not. Resetting the camera implies that the Counter is set to zero. Both Trig and ResetTrig can, similarly to FileName, hold dynamically updated expressions so that images recording can be turned on and off and reset according to the specific needs.

So, it is dynamically updating and I guess that means you have to create an if clause to set the inverse part as 1 and the rest as 0. I will dig a little deeper into that.

I’m sorry a could not help more, but I hope that could help a bit.

Amir

Hi Amir,

Thank you. Keep me informed about your digging.

Pierre

ok,

I’ve done quiet some digging. There are a couple possibilities. None of them very elegant though, so I just told the developers to look into that as well. What you can do right now is to trigger the camera either with iStep or MaxMuscleActivity for example. See my Code for that:

AnyCameraLookAt Cam1 = {
Perspective = On;
EyePoint = {0,0,0};
LookAtPoint = {0,0,0};
UpPoint = {0,0,0};
FocalDist = 1;
FocalHeight = 1;

AnyCamRecorder rec = {
FileName = …ImagePath + “Cam1.” + strval(Counter,"%05i") + “.” + …ImageExt;
pxWidth = 1 ;
pxHeight = 1;
// Trig = iffun(gtfun(Main.Studies.InverseDynamicStudy.iStep,0),1,0);
Trig = iffun(gtfun(Main.Studies.InverseDynamicStudy.MaxMuscleActivity,0),1,0);
// Trig = On;
ResetTrig = Off;
};

The problem is however, that you might loose the first step (iStep) and it won’t stop recording.

Hi Amir,

Thank you for your answer. I’ll test these solutions and get back to you soon.

Pierre

Hi Amir,

The solution involving the MaximumMuscleActivity meets my need. I do not need the first step, since it involves a zero position which is not so reliable kinematically.

Thank you.

Pierre