function feature=main_get_feature_all(volume_ori0,volume_seg0,rd,dls)
volume_ori=imresize(volume_ori0,[2*rd 2*rd],'bicubic');
volume_seg=imresize(volume_seg0,[2*rd 2*rd],'nearest');

[wll,wlh,whl,whh]=get_2DWavelet_coif1;
w_s=sum(abs(wll(:)))*1024;
[wll_ad,~,~,~]...
    =get_2DWavelet_w_ad(wll,wlh,whl,whh);

volume_ori(volume_ori<0)=0;
volume_ori(volume_ori>2048)=2048;

[shape_size_feaures,~] = shape_and_size(volume_seg);

[~,vec_seg,~,ori_roi,seg_roi]=volume2vec(volume_ori,volume_seg);
fos_seg{1}=first_order_statistics(vec_seg);

n=25;
maxv=2048;
ori_roi(ori_roi>2048)=2048;
seg=get_seg(ori_roi,seg_roi,maxv);
GLCM_seg_f{1}=get_GLCM1(seg,n,maxv,1);
GLRLM_seg_f{1}=get_GLRLM0(seg,n,maxv,1);

[vll,vlh,vhl,vhh]=get_2DWavelet(ori_roi,wll,wlh,whl,whh);
[v3w{1:4},w_]=get_2DWavelet_N(...
    vll,vlh,vhl,vhh,w_s,wll_ad);
j0=[1,4];
for j=1:1:2
    vw=v3w{j0(j)};
    [vec_seg_vw,~]=volume2vec_3w(vw,seg_roi);
    fos_seg{j+1}=first_order_statistics(round(vec_seg_vw.*10));
    n=25;
    maxv=ceil(2*w_);
    seg_vw=get_seg(vw,seg_roi,maxv);
    GLCM_seg_f{j+1}=get_GLCM1(seg_vw,n,maxv,1);
    GLRLM_seg_f{j+1}=get_GLRLM0(seg_vw,n,maxv,1);
end

loc{1}=local_first_second_order(volume_seg,volume_ori,[10,50,90],2048);
[~,~,~,ori_roi,seg_roi]=volume2vec(volume_ori,volume_seg);
[vll,vlh,vhl,vhh]=get_2DWavelet(ori_roi,wll,wlh,whl,whh);
[v3w{1:4},w_]=get_2DWavelet_N(...
    vll,vlh,vhl,vhh,w_s,wll_ad);
j0=[1,4];
for j=1:2
    vw=v3w{j0(j)};
    maxv=ceil(2*w_);
    loc{j+1}=local_first_second_order(seg_roi,vw,[10,50,90],maxv);
end

seg_resise1 = zeros(512,128);
for k1=1:1:128
    seg_resise1(:,k1)=sum(volume_seg0(:,((k1-1)*4+1):(k1*4))')';
end
seg_resise2 = zeros(128,128);
for k1=1:1:128
    seg_resise2(k1,:)=sum(seg_resise1(((k1-1)*4+1):(k1*4),:));
end
seg_resise2=double(seg_resise2>4*4/4);
for j=1:1:8
    volume_ori1 = double(dls(:,:,j));
    volume_ori1 = volume_ori1.*300 + 1000;
    volume_ori1(volume_ori1<0) = 0;
    volume_ori1(volume_ori1>2048) = 2048;
    volume_ori1=imresize(volume_ori1,[128 128],'nearest');
    [~,vec_seg_dl,~,~,~]=volume2vec(volume_ori1,seg_resise2);
    fos_dl{j}=first_order_statistics(vec_seg_dl);
end

%%
feature=[];

featrue1=shape_size_feaures;
per_cell = struct2cell(featrue1);
feature=[feature per_cell'];

featrue2=fos_seg;
write_sub2=size(featrue2,2);
for j=1:write_sub2
    per_struct = featrue2{1,j};
    per_cell = struct2cell(per_struct);
    feature=[feature per_cell'];
end

featrue3=GLCM_seg_f;
write_sub2=size(featrue3,2);
for j=1:write_sub2
    per_struct = featrue3{1,j};
    per_cell = struct2cell(per_struct);
    feature=[feature per_cell'];
end

featrue4=GLRLM_seg_f;
write_sub2=size(featrue4,2);
for j=1:write_sub2
    per_struct = featrue4{1,j};
    per_cell = struct2cell(per_struct);
    feature=[feature per_cell'];
end

featrue5=loc;
write_sub2=size(featrue5,2);
for j=1:write_sub2
    per_struct = featrue5{1,j};
    per_cell = struct2cell(per_struct(1));
    feature=[feature per_cell'];
    per_cell = struct2cell(per_struct(2));
    feature=[feature per_cell'];
    per_cell = struct2cell(per_struct(3));
    feature=[feature per_cell'];
end

featrue8=fos_dl;
write_sub2=size(featrue8,2);
for j=1:write_sub2
    per_struct = featrue8{1,j};
    per_cell = struct2cell(per_struct);
    feature=[feature per_cell'];
end
