Research Article

Reliable Breast Cancer Diagnosis with Deep Learning: DCGAN-Driven Mammogram Synthesis and Validity Assessment

Algorithm 1

Pseudo-code for similarity assessment and outliers removal.
Begin
CosineSimilarity (A, B) {
  RETURN DotProduct (A, B)/(Norm (A)  Norm (B));
 }
CalculateMeanVector (Vectors) {
  RETURN average of vectors along each dimension;
 }
CalculateStandardDeviation (Vectors) {
  RETURN standard deviation of vectors along each dimension;
 }
CalculateCosineSimilarities (ImageVectors) {
  CosineSimilarities ← Empty list;
  FOR each vector in ImageVectors {
   Cosine ← CosineSimilarity (Vector, CalculateMeanVector (All previous vectors in ImageVectors));
   Append Cosine to CosineSimilarities;
  }
  RETURN CosineSimilarities;
 }
CalculateThresholds (CosineSimilarities) {
  Mean ← calculate mean of CosineSimilarities;
  StdDev ← CalculateStandardDeviation (CosineSimilarities);
  ThresholdHigh ← mean + 3  StdDev;
  ThresholdLow ← mean − 3  StdDev;
  RETURN ThresholdHigh, ThresholdLow;
 }
FilterImagesByCosineSimilarity (ImageVectors) {
  CosineSimilarities ← CalculateCosineSimilarities (ImageVectors);
  ThresholdHigh, ThresholdLow ← CalculateThresholds (CosineSimilarities);
  FilteredImages ← Empty list;
  FOR each Cosine in CosineSimilarities {
   IF Cosine is within ThresholdHigh and ThresholdLow {
    Append corresponding ImageVector to FilteredImages;
   }
  }
  RETURN FilteredImages;
 }
End