Uz visām pogām jāsaglabā tooltips, kad uzbraucot un pagaidot parādās nosaukumi pogām, paņemt no iepriekšējās UserControlViewData.xaml
Pogu skaidrojumi:
Export to excel - izvēlas, kurus runs un kādu informāciju iekļaus, parādās pirms eksporta dialog, kur var izvēlēties (šos dialogus arī ir jāuzlabo pēc jaunā dizaina)
Importēt peak table no citām datu sistēmām, kas nav ChromSword, piemēram no Waters Empower vai Thermo chromeleon. Šis strādā kopā ar iepriekš izvēlētu data-system (šobrīd nevarēs notestēt, bet jāsaliek kods no iepriekšējās CSA versijas, vēlāk parādīšu kā strādāt ar ārējām data-system). Jāpiefiksē, ka šis nav notestēts.
🔴Modify integration - šī funkcionalitāte ir jāatjauno - prasīs vairāk darba, jo nāksies UIv2Chromatogram skatā ieviest baseline editing (zemāk pēc skaidrojumiem ir aprakstīts arī baseline). Mērķis, šai funkcionalitātei ir izmainīt nulles, jeb bāzes līniju un padot uz integrēšanas, jeb pīķu atrašanas funkciju, kā arī var pievienot jaunus “neredzamus” pīķus, kuriem vajadzētu būt, bet kuri netika novēroti, lai matemātiskie modeļi spēj vidējo pīķa atrašanās vietu noteikt starp vairākiem runs. Šī poga ir toggle, kas ieslēdzas un izslēdzas uz tās spiežot un atver papildus pogas:
a. ievelkot zaļos segmentus baseline tiks pacelts līdz norādītajiem segmentiem, šī informācija glabājas, tiek nostīta informācija uz
ManuallyCorrectIntegration
pretī saņem jaunu peak table un basline, kad nospiež e. pogu
b. pievienot neesošus pīķus, netiek veikta nekāda integrācija, pievieno peak table, še parasti atrodas iekšā citos pīķos. Vecajā kodā ļoti slikti uzkodēts, jo nevajag atsevišķu mainīgo m_manualIntegrationGhostPeaks
tā vietā pietiek, ka IntegrationDataPoint
satur IsGhostPeak = true;
parastajā peak table. Bet jāņem vērā, ka šādus ghost peaks zīmē savādāk chromotogram skatā
c. sarkanie segmenti, kuri ignorē jebkādus pīķus šajā reģionā, tiek nostīta informācija uz ManuallyCorrectIntegration
pretī saņem jaunu peak table un basline, kad nospiež e. pogu
d. Clear all - nodzēst visas manuālās izmaiņas
Vecajā kodā segmentu apstrāde notiek ap šo kodu
xxxxxxxxxx
111List<IntegrationModifactionPair> ProcessSegments(float zeroTime)
2 {
3 List<IntegrationModifactionPair> pairsToModifyBaseline = new List<IntegrationModifactionPair>();
4 List<IntegrationModifactionPair> pairsToModifyInhibition = new List<IntegrationModifactionPair>();
5
6 List<IntegrationModifactionPair> pairsToModifyBaselineScaled = new List<IntegrationModifactionPair>();
7 List<IntegrationModifactionPair> pairsToModifyInhibitionScaled = new List<IntegrationModifactionPair>();
8
9
10 foreach (LineAnnotationWithHandlers handler in m_integrationManualHandlers.ToList())
11 {
Pēc Apply nospiešanas tiek izsaukts ManuallyCorrectIntegration
Pats baseline glabājas integrationDataSetCurrent.YValuesOfZeroLevel
Poga “Add Peak” šobrīd nestrādā kā vajag (šobrīd ir toggle un tad uzklikšķinot uz chromatogram pievienojas peak), bet būtu nepieciešams, ka uzlec dialog, kur var ievadīt peak parametrus un manuāli skaitliski pievienot peak
Poga “Remove peak” nav nepieciešama, jo jau šobrīd 14. poga katras rindas galā nodrošina iespēju nodzēst peak - pārliecināties, ka jaunajā versijā arī ir šāda poga un strādā
Poga “Split peak” - šobrīd nestrādā tā kā vajadzētu. šobrīd ir toggle. Vajadzēja, ka var ievilkt vienu līniju no Baseline līdz chromatogram un sadalīt saaugušus pīķus 2 daļās, nosūtot pieprasījumu uz InstanceMainSelectionFileDAD.SplitPeak
šo funkciju nepieciešams ienest iekšā 3. pogā
Poga “Correct peak start” - šobrīd nestrādā tā kā vajadzētu. šobrīd ir toggle, uzlikšķinot uz chromatogram uzstāda peak start time. Funkcija nav intuitīva vajadzētu noņemt.
Svarigi ievades lauki un “reset” funkcija, lai noteiktu kurā runtime apgabalā meklēt jēgpilnus pīķus. Jātiek vaļā no liekiem mainīgajiem kā piemēram m_integrationTimeFrom
tā vietā jāizmanto InstanceMainSelectionFileDAD.IntegrationTimeFrom
un From, To parametri tiek padots uz SelectionFileDAD.Integrat
Rejection level arī svarīgs mainīgais, kas nosaka minimālo HSM Area pie kuras pīķis tiek ieskaitīts peak table un šis parametrs tiek padots uz SelectionFileDAD.Integrate
, jāatbrīvojas atkal no liekiem mainīgajiem iekš pašas View control
Simplified integration ir flag, kuru jāglabā SelectionFileDAD (šobrīd nav pievienots mainīgais bet jāpievieno - nedrīkst aizmirst arī RegisterForSerialization), tas svarīgs, kad nospiež Integrate isSimpleIntegration
Integrate poga svarīgākā priekš peak table, jo aizstāj visu saturu pret jauniem pīķiem balstoties uz parametriem, kuri doti virs peak table un baseline
Unify poga, uzlec dialog, kur izvēlas, kurus pīķus apvienot, bet drīkst apvienot tikai blakus esošos, ja izvēlās vairākus ne-blakus esošus parādās kļūda un neļauj to darīt
Delete All poga nodzēš visu peak table no InstanceMainSelectionFileDAD.IntegrationTimeFrom
Nepieciešams vispār pārveidot, ka SelectionFileDAD neatceras dažādām WL kombinācijām integrācijas datus - tas ir bezjēdzīgi un padara kodu pārāk sarezģītu
iekš SelectionFileDAD nepieciešams pārveidot
x1protected List<IntegrationDataSet> m_integrationDataSets = new List<IntegrationDataSet>();
2
par
x1protected IntegrationDataSet m_integrationDataSet = new IntegrationDataSet();
Un kā jau līdz šim citur kodā tad var piekļūt caur property
xxxxxxxxxx
11public IntegrationDataSet IntegrationDataSet
Lai nesalauztu RPTX ielādi jāpārveido šeit uz unikālu ID
x1RegisterData(82, ref m_integrationDataSet);
Savukārt ieteiktu saglabāt tomēr
xxxxxxxxxx
11RegisterData(60, ref m_integrationDataSets);
2
un
x1protected List<IntegrationDataSet> m_integrationDataSets = new List<IntegrationDataSet>();
bet pārsaukt
x1protected List<IntegrationDataSet> m_legacyIntegrationDataSets = new List<IntegrationDataSet>();
Lai varētu ielādēt vecost RPTX files peak table, bet pie ielādes datus pašreizējam WL jāparnes uz m_integrationDataSet
Ļoti svarīgi sataisīt, lai tiktu zīmēts baseline, lai vari augstāk minētos uzdevumus veikt
Baseline ieslēdz ar pogu augšējā menu
Vēl jāpievieno funkcija iezīmēt peaks uzklikšķinot uz peak table rows