function model = learn_dataset_fixedmodel(pos, neg, name, model)

%TODO

% Load background statistics if they exist; else build them
file = bg_file_name;
try
  load(file);
catch
  all = rmfield(pos,{'x1','y1','x2','y2'});
  all = [all neg];
  bg  = trainBG(all,20,5,8);
  save(file,'bg');
end
bg

% Define model structure
%model = initmodel(name,pos,bg);
model.bg=bg;
%skip models if the HOG window is too skewed
if(max(model.maxsize)<4*min(model.maxsize))


warped=warppos(name, model, pos);

%flip if necessary
if(isfield(pos, 'flipped'))
    fprintf('Warning: contains flipped images. Flipping\n');
    for k=1:numel(warped)
        if(pos(k).flipped)
            warped{k}=warped{k}(:,end:-1:1,:);
        end
    end
end


% Learn by linear discriminant analysis
model = learn(name,model,warped);
end
model.w=model.w./norm(model.w(:));
model.bg=[];
model.thresh = 0.5;
model.name=name;