Optimum.getRMS() computation with rejected measurments in BLS

Hello to Orekit community,

I am working on orbit determination using BLS algorithm with real RADEC measurements. (using python wrapper)
I was wondering how was handled the rejected measurements when computing residuals and jacobians using the getOptimum() function after the OD.
To set up an example with rejected measurements, I put the “radecOutlierRejectionMultiplier” = 1 and “radecOutlierRejectionStartingIteration” = 0, the OD seems to succesfully converge with 679 rejected measurments on a 1190 batch.

Then I use the getOptimum() method to fetch the Jacobian, the weighted residuals and the RMS value. The jacobian has 679*2 lines with only zeros which I guess are corresponding to the 679 rejected RADEC measures. Same observation with the residuals. When I am computing the RMS, I noticed that the value returned by the optimum.getRMS() method return a rms value that include the rejected measurements as if their residues are zero. In my example, the sum of the squared residuals are divided by 2380 ( instead of 1022 ?).

So my question is : Is is a normal behaviour ? If I am understanding right what is happening, it is like we are considering the rejected measures as “perfect” (residus = 0 ) when computing the RMS. Maybe there is a trick as they are weigthed residus ?

Don’t hesitate to correct me if there is an error in my understanding or if my example is not revelant.

Best regards and thank you for your answer !

Hi,

welcome here!

Sorry I’ve not had time to actually look at your question, but I’m upping the thread so that i doesn’t get forgotten.

If anybody wanna help, be my guest.

Cheers,
Romain.