package edu.stanford.rsl.tutorial.mammography;
import ij.gui.Roi;
import java.util.ArrayList;
import edu.stanford.rsl.conrad.data.numeric.Grid2D;
public class Mammogram {
private Grid2D image = null;
private ArrayList<Findings> findings = null;
private ArrayList<Roi> rois = null;
private int biradsScore = 0;
private BreastDensityACR density = BreastDensityACR.Unknown;
private SideOfBody side = SideOfBody.Unknown;
private MammographyView view = MammographyView.Unknown;
// private Findings finding = Findings.Unnamed;
public Mammogram(Grid2D img, SideOfBody sob, MammographyView vw, BreastDensityACR dnsty, ArrayList<Findings> fndgs,
ArrayList<Roi> rs, int brdsScr) {
this.image = img;
this.findings = fndgs;
this.rois = rs;
this.density = dnsty;
this.side = sob;
this.view = vw;
this.biradsScore = brdsScr;
}
public static void main(String[] args) {
}
public BreastDensityACR getDensity() {
return density;
}
public void setDensity(BreastDensityACR density) {
this.density = density;
}
public MammographyView getView() {
return view;
}
public void setView(MammographyView view) {
this.view = view;
}
public SideOfBody getSideOfBody() {
return side;
}
public void setSideOfBody(SideOfBody side) {
this.side = side;
}
public int getBiradsScore() {
return biradsScore;
}
public void setBiradsScore(int biradsScore) {
this.biradsScore = biradsScore;
}
public ArrayList<Findings> getFindings() {
return findings;
}
public void setFindings(ArrayList<Findings> findings) {
this.findings = findings;
}
public ArrayList<Roi> getRois() {
return rois;
}
public void setRois(ArrayList<Roi> rois) {
this.rois = rois;
}
public Grid2D getImage() {
return image;
}
public void setImage(Grid2D image) {
this.image = image;
}
public enum MammographyView {
MLO(new String[] { "MLO"}),
CC(new String[] { "CC" }),
Both(new String[] { "MLO", "CC" }),
Unknown(new String[]{ "?" });
private String[] keys = null;
MammographyView(String[] k) {
this.keys = k;
}
public String[] getValue() {
return this.keys;
}
}
public enum Findings {
Asymmetry (new String[] { "Asymmetry" }),
Calcification(new String[] { "Calcification" }),
Cluster (new String[] { "Cluster" }),
Mass (new String[] { "Mass" }),
Distortion (new String[] { "Distortion" }),
Spiculated (new String[] { "Spiculated region" }),
Pectoral (new String[] { "Pectoral muscle" }),
Unnamed (new String[] { "Unnamed" }),
Healthy (new String[] { "healthy" }),
All (new String[] { "Asymmetry", "Calcification", "Cluster",
"Mass", "Distortion", "Spiculated region",
"Pectoral muscle", "Unnamed","healthy" }),
WithFindingsOnly(new String[] { "Asymmetry", "Calcification",
"Cluster", "Mass","Distortion", "Spiculated region",
"Pectoral muscle", "Unnamed", });
private String[] keys = null;
Findings(String[] k) {
this.keys = k;
}
public String[] getValue() {
return this.keys;
}
}
public enum SideOfBody {
Left (new String[] { "L" }),
Right(new String[] { "R" }),
Both (new String[] { "L", "R" }),
Unknown(new String[] { "?" });
private String[] keys = null;
SideOfBody(String[] k) {
this.keys = k;
}
public String[] getValue() {
return this.keys;
}
}
public enum BreastDensityACR {
Fatty(1),
FattyGlandular1(2),
FattyGlandular2(3),
Glandular(4),
Unknown(-1);
private int flag = -1;
BreastDensityACR(int f) {
this.flag = f;
}
public int getACRValue() {
return this.flag;
}
}
}