00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include <QStringList>
00019
00020 QStringList QmitkSegmentationView::GetDefaultOrganColorString()
00021 {
00022 QStringList organColors;
00023
00024 AppendToOrganList(organColors, "Ankle", 255, 255, 153);
00025 AppendToOrganList(organColors, "Appendix", 161, 107, 54);
00026 AppendToOrganList(organColors, "Blood vessels", 255, 49, 49);
00027 AppendToOrganList(organColors, "Bone", 255, 255, 153);
00028 AppendToOrganList(organColors, "Brain", 255, 156, 202);
00029 AppendToOrganList(organColors, "Bronchial tree", 0, 160, 209);
00030 AppendToOrganList(organColors, "Coccyx", 255, 255, 153);
00031 AppendToOrganList(organColors, "Colon", 161, 107, 54);
00032 AppendToOrganList(organColors, "Cyst", 150, 189, 228);
00033 AppendToOrganList(organColors, "Elbow", 255, 255, 153);
00034 AppendToOrganList(organColors, "Eye", 18, 7, 161);
00035 AppendToOrganList(organColors, "Fallopian tube", 161, 19, 39);
00036 AppendToOrganList(organColors, "Fat", 237, 255, 41);
00037 AppendToOrganList(organColors, "Gall Bladder", 86, 127, 24);
00038 AppendToOrganList(organColors, "Hand", 255, 222, 199);
00039 AppendToOrganList(organColors, "Heart", 153, 0, 0);
00040 AppendToOrganList(organColors, "Hip", 255, 255, 153);
00041 AppendToOrganList(organColors, "Kidney", 250, 89, 0);
00042 AppendToOrganList(organColors, "Knee", 255, 255, 153);
00043 AppendToOrganList(organColors, "Larynx", 102, 0, 0);
00044 AppendToOrganList(organColors, "Liver", 194, 142, 0);
00045 AppendToOrganList(organColors, "Lung", 107, 220, 255);
00046 AppendToOrganList(organColors, "Lymph node", 10, 250, 56);
00047 AppendToOrganList(organColors, "Muscle", 102, 0, 0);
00048 AppendToOrganList(organColors, "Nerve", 255, 234, 79);
00049 AppendToOrganList(organColors, "Nose", 255, 222, 199);
00050 AppendToOrganList(organColors, "Oesophagus", 102, 0, 0);
00051 AppendToOrganList(organColors, "Ovaries", 234, 0, 117);
00052 AppendToOrganList(organColors, "Pancreas", 249, 171, 61);
00053 AppendToOrganList(organColors, "Pelvis", 255, 255, 153);
00054 AppendToOrganList(organColors, "Penis", 255, 222, 199);
00055 AppendToOrganList(organColors, "Pharynx", 102, 0, 0);
00056 AppendToOrganList(organColors, "Prostate", 209, 163, 117);
00057 AppendToOrganList(organColors, "Rectum", 161, 107, 54);
00058 AppendToOrganList(organColors, "Sacrum", 255, 255, 153);
00059 AppendToOrganList(organColors, "Seminal vesicle", 199, 232, 255);
00060 AppendToOrganList(organColors, "Shoulder", 255, 255, 153);
00061 AppendToOrganList(organColors, "Spinal cord", 255, 234, 79);
00062 AppendToOrganList(organColors, "Spleen", 249, 108, 61);
00063 AppendToOrganList(organColors, "Stomach", 161, 107, 54);
00064 AppendToOrganList(organColors, "Teeth", 255, 252, 216);
00065 AppendToOrganList(organColors, "Testicles", 199, 232, 255);
00066 AppendToOrganList(organColors, "Thyroid", 255, 179, 184);
00067 AppendToOrganList(organColors, "Tongue", 102, 0, 0);
00068 AppendToOrganList(organColors, "Tumor", 147, 112, 17);
00069 AppendToOrganList(organColors, "Urethra", 197, 204, 0);
00070 AppendToOrganList(organColors, "Urinary bladder", 197, 204, 0);
00071 AppendToOrganList(organColors, "Uterus", 161, 19, 39);
00072 AppendToOrganList(organColors, "Vagina", 161, 19, 39);
00073 AppendToOrganList(organColors, "Vertebra", 255, 255, 153);
00074 AppendToOrganList(organColors, "Wrist", 255, 255, 153);
00075
00076 return organColors;
00077 }
00078
00079 void QmitkSegmentationView::UpdateOrganList(QStringList& organColors, const QString& organname, mitk::Color color)
00080 {
00081 QString listElement( organname + QColor(color.GetRed() * 255 , color.GetGreen() * 255 , color.GetBlue() * 255).name() );
00082
00083
00084 int oldIndex = organColors.indexOf( QRegExp(QRegExp::escape(organname) + "#......", Qt::CaseInsensitive));
00085 if (oldIndex < 0 || organColors.at(oldIndex) != listElement )
00086 {
00087 if (oldIndex >= 0)
00088 {
00089 organColors.removeAt( oldIndex );
00090 }
00091
00092
00093 organColors.append( listElement );
00094 organColors.sort();
00095 }
00096 }
00097
00098 void QmitkSegmentationView::AppendToOrganList(QStringList& organColors, const QString& organname, int r, int g, int b)
00099 {
00100 organColors.append( organname + QColor(r, g, b).name() );
00101 }
00102