baktoft / yaps

YAPS - Yet Another Positioning Solver
GNU General Public License v3.0
17 stars 4 forks source link

Three issues inside getInpSync() #48

Open kphillips10 opened 5 months ago

kphillips10 commented 5 months ago

The first is inside yaps:::buildToaListGross() If a synch tag is on only one other receiver, the operation starting toa_i <- t(plyr::daply(... produces a matrix that's the "wrong" way round. As a result, the line toa_i_mat[, as.numeric(colnames(toa_i))] <- toa_i results in a subscript out of bounds error. [I appreciate this only arises for synch tags of 'arguable' value]

The second is also inside yaps:::buildToaListGross() If a synch tag/receiver has no self detections, the line toa_i_mat[, hydro_i_idx] <- self_detections$epofrac results in a 'replacement has length zero' error. I had been hoping to try to use some fixed-position tags that were not on receivers to aid the synch model, but this issue came up.

The third (and easiest) is in yaps:::applyLinCorCoeffsInpSync() If one drops a receiver but doesn't reset the receiver ID numbering, lin_corr_coeffs[h_idx, 1] and lin_corr_coeffs[h_idx, 2] will give out-of-bounds errors.