00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include "AbstractCryptStatistics.hpp"
00029
00030 void AbstractCryptStatistics::LabelSPhaseCells()
00031 {
00032 for (AbstractTissue<2>::Iterator cell_iter = mrCrypt.Begin();
00033 cell_iter != mrCrypt.End();
00034 ++cell_iter)
00035 {
00036 if (cell_iter->GetCellCycleModel()->GetCurrentCellCyclePhase()== S_PHASE)
00037 {
00038 assert(cell_iter->GetMutationState() == HEALTHY || cell_iter->GetMutationState() == LABELLED);
00039 cell_iter->SetMutationState(LABELLED);
00040 }
00041 }
00042 }
00043
00044 void AbstractCryptStatistics::LabelAllCellsAsHealthy()
00045 {
00046 for (AbstractTissue<2>::Iterator cell_iter = mrCrypt.Begin();
00047 cell_iter != mrCrypt.End();
00048 ++cell_iter)
00049 {
00050 cell_iter->SetMutationState(HEALTHY);
00051 }
00052 }
00053
00054 std::vector<bool> AbstractCryptStatistics::GetWhetherCryptSectionCellsAreLabelled(std::vector<TissueCell*> cryptSection)
00055 {
00056 std::vector<bool> crypt_section_labelled(cryptSection.size());
00057
00058 for (unsigned vector_index=0; vector_index<cryptSection.size(); vector_index++)
00059 {
00060 if (cryptSection[vector_index]->GetMutationState() == LABELLED)
00061 {
00062 crypt_section_labelled[vector_index]=true;
00063 }
00064 else
00065 {
00066 crypt_section_labelled[vector_index]=false;
00067 }
00068 }
00069
00070 return crypt_section_labelled;
00071 }