Commit d0242850 authored by ale's avatar ale

bug apply_rw

parent 642b1656
function apply_rw(data::Array{Float64}, W::Matrix{Float64}, vcfg::Union{Nothing, Vector{Int32}}=nothing, id::Union{String, Nothing}=nothing, fs::Bool=false) function apply_rw(data::Array{Float64}, W::Matrix{Float64}, vcfg::Union{Nothing, Vector{Int32}}=nothing; id::Union{String, Nothing}=nothing, fs::Bool=false)
nc = size(W,2) nc = size(W,2)
if isnothing(vcfg) if isnothing(vcfg)
vcfg = collect(1:nc) vcfg = collect(1:nc)
...@@ -28,7 +28,7 @@ function apply_rw(data::Array{Float64}, W::Matrix{Float64}, vcfg::Union{Nothing, ...@@ -28,7 +28,7 @@ function apply_rw(data::Array{Float64}, W::Matrix{Float64}, vcfg::Union{Nothing,
end end
end end
function apply_rw(data::Vector{<:Array{Float64}}, W::Vector{Matrix{Float64}}, vcfg::Union{Nothing, Vector{Int32}}=nothing, id::Union{String, Nothing}=nothing, fs::Bool=false) function apply_rw(data::Vector{<:Array{Float64}}, W::Vector{Matrix{Float64}}, vcfg::Union{Nothing, Vector{Int32}}=nothing; id::Union{String, Nothing}=nothing, fs::Bool=false)
nc = size.(W, 2) nc = size.(W, 2)
if isnothing(vcfg) if isnothing(vcfg)
vcfg = [collect(1:nc[k]) for k=1:length(nc)] vcfg = [collect(1:nc[k]) for k=1:length(nc)]
...@@ -154,7 +154,7 @@ function corr_obs(cdata::CData; real::Bool=true, rw::Union{Array{Float64, 2}, No ...@@ -154,7 +154,7 @@ function corr_obs(cdata::CData; real::Bool=true, rw::Union{Array{Float64, 2}, No
obs = [uwreal(data[:, x0], cdata.id, idm, nms) for x0 = 1:nt] obs = [uwreal(data[:, x0], cdata.id, idm, nms) for x0 = 1:nt]
else else
# idm = isnothing(idm) ? collect(1:nms) : idm # idm = isnothing(idm) ? collect(1:nms) : idm
data_r, W = apply_rw(data, rw, cdata.vcfg) data_r, W = apply_rw(data, rw, cdata.vcfg, id=cdata.id, fs=flag_strange)
ow = [uwreal(data_r[:, x0], cdata.id, idm, nms) for x0 = 1:nt] ow = [uwreal(data_r[:, x0], cdata.id, idm, nms) for x0 = 1:nt]
W_obs = uwreal(W, cdata.id, idm, nms) W_obs = uwreal(W, cdata.id, idm, nms)
obs = [ow[x0] / W_obs for x0 = 1:nt] obs = [ow[x0] / W_obs for x0 = 1:nt]
...@@ -200,8 +200,8 @@ function corr_obs(cdata::Array{CData, 1}; real::Bool=true, rw::Union{Array{Array ...@@ -200,8 +200,8 @@ function corr_obs(cdata::Array{CData, 1}; real::Bool=true, rw::Union{Array{Array
[tmp = cat(tmp, data[k], dims=1) for k = 2:nr] [tmp = cat(tmp, data[k], dims=1) for k = 2:nr]
obs = [uwreal(tmp[:, x0], id[1], replica, idm, nms) for x0 = 1:nt] obs = [uwreal(tmp[:, x0], id[1], replica, idm, nms) for x0 = 1:nt]
else else
data_r, W = apply_rw(data, rw, vcfg, id=id[1], fs=flag_strange)
data_r, W = apply_rw(data, rw, vcfg)
tmp = data_r[1] tmp = data_r[1]
tmp_W = W[1] tmp_W = W[1]
[tmp = cat(tmp, data_r[k], dims=1) for k = 2:nr] [tmp = cat(tmp, data_r[k], dims=1) for k = 2:nr]
...@@ -305,9 +305,8 @@ function corr_obs_TSM(cdata_sl::CData, cdata_corr::CData; real::Bool=true, rw::U ...@@ -305,9 +305,8 @@ function corr_obs_TSM(cdata_sl::CData, cdata_corr::CData; real::Bool=true, rw::U
obs1 = [uwreal(data1[:, x0], id, idm_sl, nms) for x0 = 1:nt] obs1 = [uwreal(data1[:, x0], id, idm_sl, nms) for x0 = 1:nt]
obs2 = [uwreal(data2[:, x0], id, idm_corr, nms) for x0 = 1:nt] obs2 = [uwreal(data2[:, x0], id, idm_corr, nms) for x0 = 1:nt]
else else
data1_r, W_sl = apply_rw(data1, rw, vcfg=vcfg_sl, id=id, fs=flag_strange)
data1_r, W_sl = apply_rw(data1, rw, vcfg=vcfg_sl) data2_r, W_corr = apply_rw(data2, rw, vcfg=vcfg_corr, id=id, fs=flag_strange)
data2_r, W_corr = apply_rw(data2, rw, vcfg=vcfg_corr)
ow1 = [uwreal(data1_r[:, x0], id, idm_sl, nms) for x0 = 1:nt] ow1 = [uwreal(data1_r[:, x0], id, idm_sl, nms) for x0 = 1:nt]
ow2 = [uwreal(data2_r[:, x0], id, idm_corr, nms) for x0 = 1:nt] ow2 = [uwreal(data2_r[:, x0], id, idm_corr, nms) for x0 = 1:nt]
...@@ -375,8 +374,8 @@ function corr_obs_TSM(cdata1::Array{CData, 1}, cdata2::Array{CData, 1}; real::Bo ...@@ -375,8 +374,8 @@ function corr_obs_TSM(cdata1::Array{CData, 1}, cdata2::Array{CData, 1}; real::Bo
obs2 = [uwreal(tmp2[:, x0], id[1], replica_sl, idm_corr, nms) for x0 = 1:nt] obs2 = [uwreal(tmp2[:, x0], id[1], replica_sl, idm_corr, nms) for x0 = 1:nt]
else else
data1_r, W = apply_rw(data1, rw, vcfg_sl) data1_r, W = apply_rw(data1, rw, vcfg_sl, id=id, fs=flag_strange)
data2_r, W = apply_rw(data2, rw, vcfg_corr) data2_r, W = apply_rw(data2, rw, vcfg_corr, id=id, fs=flag_strange)
tmp1 = cat(data1_r..., dims=1) tmp1 = cat(data1_r..., dims=1)
tmp2 = cat(data2_r..., dims=1) tmp2 = cat(data2_r..., dims=1)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment