Generating data from ellipse garland

Input: ellipse garland {x ∈ (ℝ^2): 0.8≤ (Subscript[d, m])(C,x,Σ)≤ 1} with center C and covariance matrix Σ;
Output: data set;
Submodules: dm[]

DataEllipseGarland[S_,a_,b_,al_,np_,sigma_,nr_,Ind_:0]:=Module[{pi,pod,Del,A,Q,Nr},
Del={{0,10},{0,10}};pi={}=pod={};
Q[th_]:={{Cos[th],-Sin[th]},{Sin[th],Cos[th]}};
(*  
S: center;
a, b half axes;  
np: number of points per unit square;
sigma: parameter from the normaln distribution;
nr: number of points generated from a normal distribution in the neighborhood of each data point pod[[i]];
Ind: If Ind ≠ 0, the results and the Figure are listed.
*) 
(* Defining of basic points *)
Nr=Floor[np Area[Rectangle[{Del[[1,1]],Del[[2,1]]},{Del[[1,2]],Del[[2,2]]}]]];
data=RandomVariate[UniformDistribution[Del],Nr];
 A=Q[al].{{a^2,0},{0,b^2}}.Transpose[Q[al]];
(* Defining [pod] inside of a circle with radius r *)
Do[
If[.8^2≤ dm[data[[i]],S,A]≤ 1,pod=AppendTo[pod,data[[i]]]
]
,{i,Nr}];
(* To each pod[[i]] nr points generated from a normal distribution are added *)
Do[
pi=AppendTo[pi,RandomVariate[MultinormalDistribution[pod[[j]],sigma IdentityMatrix[2]],nr]]
,{j,Length[pod]}];
Pod=Union[pod,Flatten[pi,1]];
(* Figure *)
If[Ind≠0,
slPod=ListPlot[Pod,PlotStyle->{PointSize[.005]}];
Print[Show[slPod,PlotRange->Del,AspectRatio->Automatic,Frame->True,GridLines->Automatic,ImageSize->Small]];
];
Print["EllipseGarland: ",{S,A},"; Delta=",Del, "; |Pod|= ",Length[Pod]];
{Pod}
]