Qualificação do fluxo e tempo de semi-vida dos microtúbulos do fuso mitótico em metafase
Full text
Mariana Gil Cunha Quantifica¸c˜ao do fluxo e tempo de semi-vida dos microt´ubulos do fuso mit´otico em metafase Departamento de Matem´atica Faculdade de Ciˆencias da Universidade do Porto 2012
Mariana Gil Cunha Quantifica¸c˜ao do fluxo e tempo de semi-vida dos microt´ubulos do fuso mit´otico em metafase Tese submetida `a Faculdade de Ciˆencias da Universidade do Porto para obten¸c˜ao do grau de Mestre em Engenharia Matem´atica Departamento de Matem´atica Faculdade de Ciˆencias da Universidade do Porto 2012
Agradecimentos Ao Professor Paulo Aguiar um agradecimento muito especial pela simpatia, boa disposi¸c˜ao, amizade e total disponibilidade na orienta¸c˜ao cient´ıfica deste trabalho. Ao Dr. H´elder Maiato por ter sido o primeiro a incentivar esta ideia. Por me ter proporcionado condi¸c˜oes de trabalho que superaram as minhas expectativas. Ao Dr. Ant´onio Pereira pela sua incondicional disponibilidade para apoiar e orientar este trabalho ao longo de v´arios meses. ` A minha fam´ılia, em especial aos meus pais e irm˜aos, por me acompanharem sempre. ` A Anne, ao Lu´ıs, `a Margarida, `a Sofia, por estarem sempre perto. ` A Ana e `a Filipa pelo companheirismo e bons momentos ao longo do Mestrado. iii
Resumo Este trabalho resulta de uma parceria entre o Mestrado em Engenharia Matem´atica e a equipa Chromosome Instability & Dynamics Lab, do Instituto de Biologia Molecular e Celular, liderada pelo Dr. H´elder Maiato, coorientador deste trabalho. Foi proposto quantificar o fluxo dos microt´ubulos de tubulina e o processo de turnover durante a metafase, em c´elulas de organismos diversos. A abordagem utilizada tirou partido da t´ecnica Induced Speckle Imaging desenvolvida pelo investigador Ant´onio Pereira. Foi produzido um algoritmo autom´atico para determina¸c˜ao de fluxo baseado no m´etodo de Block Matching. Como operadores de dete¸c˜ao espacial, foram avaliadas duas fun¸c˜oes em situa¸c˜oes de teste perfeitamente controladas: uma fun¸c˜ao de correla¸c˜ao generalizada a nsinais e uma fun¸c˜ao de diferen¸cas absolutas em rela¸c˜ao `a m´edia. Atrav´es dos testes apurou-se a fun¸c˜ao de diferen¸cas absolutas em rela¸c˜ao `a m´edia como o operador mais eficaz e robusto a ru´ıdo na determina¸c˜ao dos fluxos. Os resultados apresentados para um filme de Drosophila S2 foram produzidos utilizando a estrat´egia de block matching com este operador. N˜ao foi desenvolvido na totalidade um m´etodo de medi¸c˜ao de turnover, mas foi elaborado e implementado um m´etodo de determina¸c˜ao do decaimento da intensidade dos microt´ubulos para os filmes disponibilizados. Para estimar o decaimento de intensidade, foi criado um algoritmo semi-autom´atico que permite obter estat´ısticas de parˆametros de regress˜oes exponenciais ajustadas `a intensidade dos microt´ubulos. A robustez dos ajustes exponenciais `a intensidade dos pixeis nas imagens foi testada em situa¸c˜oes controladas, obtendo muito bons resultados. O software utilizado para implementar os m´etodos elaborados foi o MATLAB (2010). A determina¸c˜ao do fluxo e do decaimento nos microt´ubulos permite real¸car o protagonismo destes fen´omenos na promo¸c˜ao de for¸cas no fuso mit´otico que movimentam os cromossomas em dire¸c˜ao aos polos, permitindo descobrir um pouco mais sobre o mecanismo que garante a heran¸ca gen´etica nas esp´ecies. Palavras-chave: C´ ALCULO DE FLUXOS; PROCESSAMENTO DE IMAGEM; MAPAS CONFORMACIONAIS; REGRESS˜ AO N˜ AO LINEAR; BLOCK MATCHING; FUSO MIT´ OTICO v
Abstract This work results from a collaboration between the Master in Mathematical Engineering and the Chromosome Instability & Dynamics Lab team, from the Institute of Molecular and Cell Biology and led by Dr. H´elder Maiato, co-advisor of this work. It has been proposed to quantify spindle microtubules flux and turnover during metaphase on cells of different organisms. The present approach took advantage of the Induced Speckle Imaging technique developed by researcher Ant´onio Pereira. An algorithm for automatic determination of flow based on a strategy derived from Block Matching was created. Two operators of spatial detection were evaluated in two perfectly controlled test situations: a correlation function generalized to nsignals and a function measuring absolute differences from the average. Through testing it was possible to conclude that the absolute differences function is the most efficient and noise robust on the determination of displacement. The results obtained in the original images were produced using the Block Matching strategy with this operator. A measuring method of turnover was not developed in its entirety, but a method for determining the decay of the intensity of microtubules for the films provided is designed and implemented. For the estimation of color intensity decay a semi-automatic algorithm was created. The method performs exponential regression using the intensity of microtubules. The robustness of the exponential fits to the fluorescence decay was tested in controlled situations, obtaining very good results. The software used to build the codes for these algorithms was MATLAB (2010). The determination of microtubules flux and turnover allows us to highlight the role of these phenomena in the promotion of the mitotic spindle forces that move chromosomes toward the poles, making it possible to discover a little more about the mechanism that ensures genetic inheritance in the species. Key-words: FLUX DETERMINATION; IMAGE PROCESSING; CONFORMAL MAPPING; NON-LINEAR REGRESSION; BLOCK MATCHING; MITOTIC SPINDLE vii
viii
Conte´udo Agradecimentos iii Resumo v Abstract vii ´ Indice de Tabelas xi ´ Indice de Figuras xvii 1 Introdu¸c˜ao ao problema 1 1.1 Enquadramento na Biologia Celular . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 OsDados-Objectivo .................................. 4 1.3 Abordagens existentes - Revis˜ao de Literatura . . . . . . . . . . . . . . . . . . . . . 6 2 Abordagens aos problemas 7 2.1 An´alisedofluxo...................................... 7 2.2 M´etodoimplementado.................................. 8 2.2.1 Oprograma.................................... 18 2.3 An´alisedoDecaimento.................................. 22 2.3.1 Oprograma.................................... 24 2.4 Desvantagens das abordagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3 Programas auxiliares 29 3.1 LeituradeFrames .................................... 29 3.2 Marca¸c˜aodospolos.................................... 29 3.2.1 Oprograma.................................... 30 3.3 Mapa conformacional super-elipse - linhas paralelas . . . . . . . . . . . . . . . . . . 34 4 Resultados 39 4.1 Osdadosdeteste..................................... 39 4.1.1 Os dados teste para calculo de fluxo 2D . . . . . . . . . . . . . . . . . . . . 44 4.2 Resultados nos dados de teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.2.1 C´alculo do fluxo - Dados artificiais 1D . . . . . . . . . . . . . . . . . . . . . 45 4.2.2 C´alculo do fluxo - Dados teste 2D . . . . . . . . . . . . . . . . . . . . . . . 56 4.2.3 Resultados da an´alise de decaimento nos dados de teste . . . . . . . . . . . 60 4.3 Resultados para os dados originais . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.3.1 Resultados do fluxo a 1D . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.3.2 Resultados da an´alise de fluxo a 2D: . . . . . . . . . . . . . . . . . . . . . . 74 4.3.3 Resultados da an´alise de decaimento . . . . . . . . . . . . . . . . . . . . . . 75 ix
4.30 Fitting exponencial obtido para o caso de teste 1. . . . . . . . . . . . . . . . . . . . 62 4.31 Janelas de c´alculo de decaimento. A janela da esquerda tem de altura 18px e a da esquerda de altura 5px. ................................. 62 4.32 Histogramas das regi˜oes selecionadas caso 1. Na primeira linha temos os frames analisados e os retˆangulos correspondentes `as janelas selecionadas em cada frame. Na segunda linha os histogramas dos retˆangulos selecionados no respetivo frame. Na terceira linha histogramas dos frames (toda a ´area) respetivos `a coluna. . . . . 63 4.33 Fitting exponencial obtido para caso de teste 2 com a fun¸c˜ao m´edia. . . . . . . . . 64 4.34 Fitting exponencial obtido para caso de teste 2 com a fun¸c˜ao mediana. . . . . . . . 64 4.35 Speckles avaliados no caso 1. Frame 3 do filme analisado com a localiza¸c˜ao de alguns speckles........................................... 66 4.36 Mapa de velocidades (px/s) e mapa de τ-Kendal obtidos para o caso 1 nas regi˜oes onde a intensidade dos pixeis no frame 3 ´e superior a 500. Alguns valores de velocidade registados assinalados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.37 Speckles avaliados no caso 2. Frame 7 do filme analisado com a localiza¸c˜ao de alguns speckles........................................... 68 4.38 Mapa de velocidades (px/s) e mapa de τ-Kendal obtidos para o caso 2 nas regi˜oes onde a intensidade dos pixeis no frame 7 ´e superior a 800. Alguns valores de velocidade registados assinalados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.39 Speckles avaliados no caso 2. Frame 16 do filme assinalado com a localiza¸c˜ao de alguns speckles....................................... 70 4.40 Mapa de velocidades (px/s) e mapa de τ-Kendal obtidos para o caso 2 nas regi˜oes onde a intensidade dos pixeis no frame 16 ´e superior a 500. Alguns valores de velocidade registados assinalados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.41 Speckles avaliados no caso 2. Frame 31 do filme analisado com a localiza¸c˜ao de alguns speckles....................................... 72 4.42 Mapa de velocidades (px/s) e mapa de τ-Kendal obtidos para o caso 2 nas regi˜oes onde a intensidade dos pixeis no frame 31 ´e superior a 500. Alguns valores de velocidade registados assinalados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.43 Frame 7 do filme e mapa de pesos obtido para o caso 1. . . . . . . . . . . . . . . . 74 4.44 Velocidades (px/s) obtidas para regi˜ao A do frame 7. . . . . . . . . . . . . . . . . . 75 4.45 Velocidades (px/s) obtidas para regi˜ao B do frame 7. . . . . . . . . . . . . . . . . . 75 4.46 Speckle do hemisf´erio superior avaliado no teste de decaimento. . . . . . . . . . . . 76 4.47 Fit exponencial para o speckle do hemisf´erio superior. . . . . . . . . . . . . . . . . 76 4.48 Histogramas das janelas do speckle inferior e dos frames utilizados. Na primeira linha temos os frames analisados e os rectˆangulos correspondentes `as janelas selecionadas em cada frame. Na segunda linha os histogramas dos rectˆangulos selecionados no respectivo frame. Na terceira linha histogramas dos frames (toda a ´area) respetivos `acolunadafigura. .................................... 77 4.49 Fit exponencial para o speckle do hemisf´erio superior em frames posteriores a 30. . 78 4.50 Speckle do hemisf´erio inferior avaliado no teste de decaimento. . . . . . . . . . . . . 78 4.51 Fit exponencial para o speckle do hemisf´erio inferior. . . . . . . . . . . . . . . . . . 79 4.52 Speckle situado no equador do fuso avaliado no teste de decaimento. . . . . . . . . 79 4.53 Fit exponencial para o speckle do hemisf´erio inferior. . . . . . . . . . . . . . . . . . 80 4.54 Regi˜ao escura do filme das c´elulas Drosophila S2.................... 80 4.55 Fit exponencial para a regi˜ao escura. . . . . . . . . . . . . . . . . . . . . . . . . . . 81 A.1 Ilustra¸c˜ao dos blocos/janelas de trabalho . . . . . . . . . . . . . . . . . . . . . . . . ii A.2 Exemplo de como se obtˆem as vari´aveis f1 e f2 . . . . . . . . . . . . . . . . . . . . v xvi
A.3 Exemplo de como se obtˆem as vari´aveis f1 e f2 . . . . . . . . . . . . . . . . . . . . viii A.4 Ilustra¸c˜ao de regi˜oes de uma imagem limitadas pela velocidade m´axima onde ´e poss´ıvel calcular fluxo. A verde regi˜ao limitada pela dimens˜ao das janelas e a amarelo regi˜ao limitada pela velocidade m´axima e n´umero de frames a utilizar. . . . . . . . viii B.1 Imagem Matlab do programa DecaimentoSemiAutomatico.m, sele¸c˜ao da primeira regi˜ao para todos os frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv B.2 Ilustra¸c˜ao da matriz linhas regi˜ao do c´odigo DecaimentoSemiAutomatico.m . . . . xiv B.3 Regi˜oes selecionadas e histogramas respetivos . . . . . . . . . . . . . . . . . . . . . xv B.4 Exemplo de figura com diferentes fittings exponenciais para cada regi˜ao. . . . . . . xvii xvii
xviii
Cap´ıtulo 1 Introdu¸c˜ao ao problema 1.1 Enquadramento na Biologia Celular A reprodu¸c˜ao ´e talvez a atividade mais fundamental na vida das c´elulas. Para organismos unicelulares, dividir ´e reproduzir, enquanto que nos organismos multicelulares a divis˜ao celular assegura a produ¸c˜ao de estruturas essenciais ao crescimento e desenvolvimento. Em 1885, estudos de bi´ologos como Walter Flemming mostraram que num organismo todos os n´ucleos s˜ao gerados por repetidas divis˜oes de um ´unico n´ucleo, este formado na fase embrion´aria atrav´es da fus˜ao entre um ´ovulo e o n´ucleo de um espermatozoide. Esta conclus˜ao permitiu interligar a A Teoria Celular (1838), de Schleiden and Schwann, com a Teoria da Evolu¸c˜ao (1859) de Darwin (Rieder, 2006). Mitose Em c´elulas simples como algumas bact´erias ou cianobact´erias, cujo n´ucleo n˜ao est´a envolvido por uma membrana, a divis˜ao celular ocorre por fiss˜ao bin´aria. Em todos os organismos mais complexos, o processo que permite a transferˆencia do legado gen´etico das esp´ecies ao produto de cada divis˜ao celular ´e a mitose celular. O principal objetivo da mitose ´e formar duas novas c´elulas geneticamente idˆenticas `a c´elula precursora (Pereira and Maiato, 2010). A mitose pode ser dividida em cinco fases gerais: Profase, Prometafase, Metafase, Anafasee e Telofase. Ap´os a mitose segue-se a divis˜ao do citoplasma, durante a Citocinese. Estas etapas est˜ao ilustradas na figura 1.1. Em c´elulas de animais superiores, o fen´omeno que premedita uma divis˜ao celular ´e a replica¸c˜ao do material gen´etico, no n´ucleo das c´elulas, e o in´ıcio da sua condensa¸c˜ao na forma cromoss´omica (Rieder, 2006). Na fase inicial da mitose, a Profase, o ADN replicado,em conjunto com algumas prote´ınas essenciais, organiza-se no interior do n´ucleo em estruturas condensadas, os cromossomas. Durante a divis˜ao celular, os cromossomas apresentam duas por¸c˜oes idˆenticas de material replicado, os cromat´ıdeos, ligadas por uma estrutura de conex˜ao, o centromero. Por esta altura da divis˜ao celular, a membrana nuclear desintegra-se, libertando os cromossomas no citoplasma. Durante a Prometafase, os cromossomas conectam-se a uma estrutura de microt´ubulos e centrossomas, denominada fuso mit´otico. Esta estrutura ´e respons´avel por gerar as for¸cas que movimentam os cromossomas e por direcionar os seus movimentos na c´elula (Rieder, 2006). Uma vez ligados aos microt´ubulos, os cromossomas disp˜oe-se alinhados ao longo do equador (eixo central) do fuso. Esta disposi¸c˜ao alinhada ao longo do equador carateriza a Metafase da mitose celular. No momento em que os cromossomas iniciam a sua divis˜ao e separa¸c˜ao em dire¸c˜oes opostas entram em Anafase. Nesta altura s˜ao evidentes dois grupos independentes de cromossomas, cada um 1
2CAP´ ITULO 1. INTRODUC¸ ˜ AO AO PROBLEMA Figura 1.1: Ilustra¸c˜ao das v´arias fases da mitose celular. Imagem de dom´ınio p´ublico adaptada de Wikipedia.org, autoria de Mariana Ruiz Villarreal. movendo-se em dire¸c˜ao a extremos ou polos opostos do fuso mit´otico. Durante a Telofase, em redor dos dois grupos de cromossomas formam-se novas membranas nucleares, e o material gen´etico retorna `a consistˆencia de cromatina. Por ´ultimo, completa-se a divis˜ao do citoplasma durante a Citocinese, terminando com o nascimento de duas novas c´elulas. O fuso mit´otico: Durante a mitose, a estrutura biol´ogica que assegura a correta segrega¸c˜ao do genoma entre os dois novos n´ucleos ´e um complexo altamente dinˆamico, o fuso mit´otico (Matos et al., 2009). Em conjunto com um grande n´umero de prote´ınas, denominadas de prote´ınas motoras, o fuso mit´otico ´e capaz de dirigir o alinhamento dos cromossomas em metafase e a sua separa¸c˜ao em dire¸c˜oes opostas da c´elula (Pereira and Maiato, 2010). Este complexo cont´em trˆes componentes estruturais prim´arias: os microt´ubulos, os cromossomas e os centrossomas, como se pode observar na figura 1.2.
1.1. ENQUADRAMENTO NA BIOLOGIA CELULAR 3 Figura 1.2: Micografia evidenciando os elementos estruturais do fuso mit´otico e a disposi¸c˜ao dos cromossomas ao longo do equador do fuso mit´otico. Imagem adaptada de Rieder (2006). Durante a progress˜ao da mitose, a distribui¸c˜ao tridimensional dos cromossomas no n´ucleo evolui para uma distribui¸c˜ao bidimensional, ao longo do fuso (em metafase), atribuindo a esta disposi¸c˜ao o nome de placa metaf´asica. Esta not´oria mudan¸ca conformacional ´e essencial, uma vez que liberta uma das trˆes dimens˜oes espaciais da distribui¸c˜ao dos cromossomas para definir um eixo de divis˜ao celular. De facto, a grande maioria da dinˆamica do fuso e dos cromossomas ocorre preferencialmente ao longo deste eixo (Pereira and Maiato, 2010). Cada polo do fuso ´e definido por um centrossoma, um organelo duplicado na fase de replica¸c˜ao do genoma que antecede a mitose. Posicionados entre os centrossomas est˜ao os cromossomas replicados. Durante a Profase, surgem nos centr´omeros dos cromossomas duas estruturas especializadas para interagir com os microt´ubulos do fuso mit´otico, os cinetocoros. Alguns microt´ubulos do fuso conectam-se aos cinetocoros dos cromossomas num dos seus extremos, enquanto que no outro extremo est˜ao conectados a um centrossoma ou perto deste. Os restantes microt´ubulos conectamse apenas ao polo do fuso, estando o outro extremo livre na regi˜ao do fuso. Os microt´ubulos do fuso mit´otico s˜ao fibras cuja unidade estrutural ´e a prote´ına tubulina. Figura 1.3: Ilustra¸c˜ao do fluxo da tubulina nos microt´ubulos conectados a cinetocoros e microt´ubulos do fuso mit´otico de c´elula Drosophila S2. Figura fornecida por cortesia de Ant´onio Pereira, Chromosome Instability & Dynamics Lab. ` A medida que o fuso se forma, surge uma nova dinˆamica nos microt´ubulos, o fluxo das suas
4CAP´ ITULO 1. INTRODUC¸ ˜ AO AO PROBLEMA subunidades. As prote´ınas de tubulina dispersas no citoplasma s˜ao incorporadas nos extremos dos microt´ubulos dispostos no equador (extremos positivos) e deslocam-se com os microt´ubulos em dire¸c˜ao ao outro extremo (negativo), onde s˜ao libertadas (figura 1.3). O processo de renova¸c˜ao dos microt´ubulos denomina-se de turnover. O sentido e a finalidade da mitose s˜ao revelados no seu cl´ımax durante a Anafase quando os cromat´ıdeos hom´ologos migram em dire¸c˜ao aos polos opostos de forma sincronizada (Matos et al., 2009). Os erros que ocorrem neste processo podem ter consequˆencias devastadoras para a c´elula e para todo o organismo, uma vez que podem causar instabilidade gen´etica, defeitos de nascimento ou cancro (Civelekoglu-Scholey and Scholey, 2010). Atualmente admite-se que as for¸cas que movem os cromossomas em dire¸c˜ao aos polos s˜ao produzidas por dois mecanismos de for¸cas, que frequentemente atuam em simultˆaneo (Rieder, 2006). Um dos mecanismos baseia-se em for¸cas geradas nos microt´ubulos. Durante a metafase, o comprimento de um microt´ubulo que esteja conectado a um cinetocoro permanece constante desde que a polimeriza¸c˜ao da tubulina no seu polo positivo seja equilibrada pela despolimeriza¸c˜ao de tubulina no seu polo negativo. Se a taxa de incorpora¸c˜ao das subunidades nos cinetocoros decresce e a despolimeriza¸c˜ao da tubulina se mant´em, o cinetocoro movimenta-se em dire¸c˜ao ao polo do fuso (Rieder, 2006). Para al´em do fluxo, v´arias prote´ınas motoras interagem com os microt´ubulos do fuso durante a Anafase, tendo um protagonismo preponderante na movimenta¸c˜ao dos cromat´ıdeos, como por exemplo a prote´ına kinesin-5 (Miyamoto et al., 2004) e dine´ına citoplasm´atica (Yang et al., 2008). No mecanismo “Pac-man”, a dine´ına pressiona ativamente o cinetocoro em dire¸c˜ao ao polo negativo do microt´ubulo. Esta compress˜ao da cinetocoro provoca uma rea¸c˜ao a essa for¸ca e a cinetocoro induz a despolimeriza¸c˜ao da tubulina nos extremos positivos dos microt´ubulos a elas acopolados (Rieder, 2006). Em Matos et al. (2009) mostrou-se que, em c´elulas de Drosophila S2, o fluxo nos microt´ubulos representa uma forma de redistribui¸c˜ao de tens˜oes excessivas nos cromossomas durante a metafase, contribuindo assim para a equaliza¸c˜ao das for¸cas atuantes nos cinetocoros e para o bom desempenho da mitose. O presente trabalho prop˜oe um algoritmo autom´atico de determina¸c˜ao do fluxo ao longo dos microt´ubulos e um algoritmo semi-autom´atico de determina¸c˜ao de turnover em filmes de c´elulas sujeitas `a t´ecnica Induced Speckle Imaging (ISI) (Pereira, 2011). 1.2 Os Dados - Objectivo Os dados de estudo deste trabalho foram fornecidos pela equipa de investiga¸c˜ao Chromosome Instability & Dynamics Lab, liderada pelo investigador H´elder Maiato, do Instituto de Biologia Molecular e Celular (IBMC). Foram disponibilizados filmes de c´elulas de organismos diversos, nomeadamente Drosophila S2 e Neuroblastos, durante a metafase do ciclo celular (figura 1.4). Figura 1.4: Fusos mit´oticos de c´elulas Drosophila S2 durante m´etafase (IBMC).
1.2. OS DADOS - OBJECTIVO 5 Os objetivos deste trabalho s˜ao desenvolver algoritmos autom´aticos que permitam determinar as velocidades de fluxo e tempo caracter´ıstico de turnover nos dados fornecidos, e perceber se existe varia¸c˜ao espacial destas taxas ou n˜ao. Por exemplo, perceber se h´a varia¸c˜oes de comportamento entre a zona pr´oxima dos cromossomas e a zona dos polos do fuso. Induced Speckle Imaging O fuso mit´otico pode ser observado utilizando v´arias t´ecnicas de microscopia. Contudo, os microt´ubulos, as unidades estruturais prim´arias dos fusos, s˜ao demasiado pequenos para serem vis´ıveis atrav´es de microsc´opios de luz vis´ıvel. Hoje em dia h´a poderosas t´ecnicas de microscopia de fluorescˆencia que permitem acompanhar uma ou mais prote´ınas num fuso mit´otico ao longo do processo mit´otico (Rieder, 2006). A t´ecnica Induced Speckle Imaging (ISI) consiste em associar mol´eculas de fluorescˆencia (GFP) `as prote´ınas de tubulina dos microt´ubulos e posteriormente remover a fluorescˆencia em pequenas zonas, estabelecendo assim marcas de fluorescˆencia de referˆencia, denominadas de speckles (figura 1.5). Esta t´ecnica foi desenvolvida pelo investigador Ant´onio Pereira da equipa Chromosome Instability & Dynamics Lab. Figura 1.5: Imagem de Drosophila S2 obtida por microscopia de fluorescˆencia. Induced Speckle Imaging: speckles no fuso mit´otico (direita). Figura fornecida por cortesia de Ant´onio Pereira, Chromosome Instability & Dynamics Lab. A velocidade de deslocamento dos speckles na dire¸c˜ao dos polos torna-se uma medida do fluxo (figura 1.5). Para al´em de possibilitar medi¸c˜oes do fluxo, o tempo caracter´ıstico de desvanecimento das marcas fluorescentes permite obter medidas da taxa de turnover. A fluorescˆencia induzida nas c´elulas afeta todo o espectro das imagens, pelo que o decaimento da fluorescˆencia total n˜ao traduz necessariamente o fen´omeno de turnover dos microt´ubulos. Neste trabalho assumiremos que a perda de contraste dos microt´ubulos devido ao fen´omeno de turnover ´e significativamente mais r´apida do que as flutua¸c˜oes devido a altera¸c˜oes estruturais. Um problema desta an´alise ´e que, em condi¸c˜oes normais, os microt´ubulos tˆem um n´ıvel de fluorescˆencia bastante uniforme. As flutua¸c˜oes espaciais do sinal que emitem s˜ao residuais e devemse apenas ao car´acter estoc´astico do processo de liga¸c˜ao GFP-tubulina. Esta uniformidade espacial do sinal tem duas implica¸c˜oes no m´etodo: i. Pode perturbar a observa¸c˜ao do fluxo ii. Obscurece os processos de substitui¸c˜ao dos microt´ubulos que acontecem a todo o momento.
6CAP´ ITULO 1. INTRODUC¸ ˜ AO AO PROBLEMA 1.3 Abordagens existentes - Revis˜ao de Literatura Em Pereira and Maiato (2010) foram apresentados, analisados e discutidos quimogramas obtidos para c´elulas Drosophila S2. Esta t´ecnica consiste numa representa¸c˜ao bi ou tridimensional de regi˜oes de interesse, em que a vari´avel tempo ´e uma das dimens˜oes, permitindo uma inferˆencia da velocidade direta por rela¸c˜ao de distˆancias nos gr´aficos. Em Yang et al. (2008) foi poss´ıvel efetuar seguimento individual de speckles de c´elulas de ovos de Xenopus laevis em meiose. Utilizou-se microscopia de fluorescˆencia quantitativa para os mapeamentos de alta resolu¸c˜ao. Ajustou-se uma fun¸c˜ao normal multivariada, de dois modos, `a fun¸c˜ao de distribui¸c˜ao das velocidades dos speckles. Esta an´alise estat´ıstica permitiu determinar varia¸c˜ao regional da velocidade dos speckles ao longo do fuso, resultando num modelo de fuso mit´otico de dois grupos de microt´ubulos estruturalmente em cada semi-fuso. Em Matos et al. (2009) utilizou-se um modelo mecˆanico de transloca¸c˜ao de microt´ubulos em dire¸c˜ao aos polos associados ao fluxo que reflete a relaxa¸c˜ao do interface cinetocoro-microt´ubulo. Foi verificado experimentalmente que acelera¸c˜oes na mitose impedem equaliza¸c˜ao de tens˜oes e sincroniza¸c˜ao durante a anfase.
Cap´ıtulo 2 Abordagens aos problemas 2.1 An´alise do fluxo A altera¸c˜ao da distribui¸c˜ao tridimensional dos cromossomas durante a metafase para uma distribui¸c˜ao bidimensional no eixo do fuso mit´otico, formando a placa metaf´asica (Pereira and Maiato, 2010), permite que an´alises de fusos a duas dimens˜oes em metafase possam efetuar boas avalia¸c˜oes da realidade. Numa tentativa de automatizar um m´etodo de c´alculo do fluxo dos microt´ubulos, procur´amos um processo que requeresse, em cada filme, apenas um n´umero reduzido de parˆametros fornecidos pelo utilizador. Devido a altera¸c˜oes da posi¸c˜ao relativa dos fusos nos frames dos filmes, para qualquer m´etodo seria necess´ario estabilizar o fuso. Isto foi conseguido com a marca¸c˜ao de 3 pontos em cada frame: dois de localiza¸c˜ao - os polos do fuso, e um terceiro - a largura do fuso. A marca¸c˜ao destes trˆes pontos em cada frame de um filme permite estabelecer invariˆancias espaciais para os fusos, quer a n´ıvel de rota¸c˜ao e transla¸c˜ao do fuso, quer posteriormente a um ajuste de escala dos fusos. As imagens resultantes deste controlo de invariˆancias efetuado mediante a marca¸c˜ao dos polos s˜ao as imagens originais rodadas, centradas sobre o fuso e limitadas ao retˆangulo que inscreve o fuso. O conjunto destas imagens foi denominado de novas imagens. Figura 2.1: Fusos com forma super-el´ıptica ajustada atrav´es do MATLAB. (A-B) C´elula de Drosophila S2. (C) Neuroblasto. (D) Imagem C rodada e centrada no MATLAB. (E) C´elula de Drosophila S2. (F) Imagem E rodada e centrada sobre o centro do fuso, limitada ao retˆangulo exterior ao fuso. Ap´os observa¸c˜ao dos filmes, verificou-se que os fusos tˆem geralmente uma forma super-el´ıptica 7
14 CAP´ ITULO 2. ABORDAGENS AOS PROBLEMAS Figura 2.12: Esquema ilustrativo do c´alculo do fluxo para um bloco. (A) Pilha de fusos ap´os aplica¸c˜ao do mapa conformacional. (B) Sub-pilha ou pilha de janelas selecionadas. (C) Janelas da sub-pilha colapsadas em vetores-coluna. (D) Perfis de intensidade dos vetores-coluna. (C) Ilustra¸c˜ao do conjunto de dados selecionados para avaliar em fun¸c˜ao da gama de velocidades. A velocidade ˆvque fica determinada para cada pixel ´e ent˜ao aquela que maximiza a fun¸c˜ao de correla¸c˜ao generalizada adaptada (no caso de se utilizar esta fun¸c˜ao) ou a que minimiza a fun¸c˜ao de diferen¸cas absolutas em rela¸c˜ao `a m´edia (no caso de ser esta a utilizada). Utiliza¸c˜ao de computa¸c˜ao paralela Dadas as caracter´ısticas da an´alise de cada janela ´e poss´ıvel distribuir os processos por v´arios processadores, permitindo que o algoritmo corra em paralelo, acelerando assim o processo. No Matlab, o comando matlabpool permite a funcionalidade completa de recursos em simultˆaneo, atrav´es de processamento em paralelo das tarefas. A confian¸ca nos resultados Afim de avaliar se a velocidade que se determina pela estrat´egia baseada no Block Matching, ˆv, merece muita ou pouca confian¸ca, criou-se um m´etodo de classifica¸c˜ao da confian¸ca das velocidades obtidas. O objetivo desta fun¸c˜ao ´e medir a relevˆancia do m´aximo ou m´ınimo determinados pelo BlockMatching. Um valor obtido pelo algoritmo, ˆv, ´e t˜ao mais relevante quanto mais o valor de GCorr(v) ou DAM(v) se destacar dos restantes valores obtidos para os diferentes v’s. Foi ent˜ao utilizado um parˆametro de associa¸c˜ao entre fun¸c˜oes para medir a associa¸c˜ao dos resultados obtidos com o comportamento ´otimo previsto para estes casos. Para cada sub-pilha analisada s˜ao registados os valores da fun¸c˜ao DAM, DAM(v), ou da fun¸c˜ao de Correla¸c˜ao, GCorr(v), para todas as velocidades testadas. Para generalizar os dois casos, seja F(v) = DAM(v) ou GCorr(v), consoante a fun¸c˜ao que tenha sido admitida. Idealmente, o comportamento da fun¸c˜ao Fdeve indicar que o m´aximo ou m´ınimo atingidos se destacam dos restantes valores de forma coerente. Ou seja, quanto mais pr´oximo da velocidade ˆv for um valor de velocidade v, mais pr´oximo de F(ˆv) deve estar F(v). Assim, o valor de confian¸ca nos resultados mede o grau de associa¸c˜ao entre a fun¸c˜ao F(v) e uma fun¸c˜ao mon´otona at´e F(ˆv), quando v→ˆv+ou v→ˆv−. (Figura 2.13) Para obter a confian¸ca num determinado resultado, mede-se ent˜ao o grau de associa¸c˜ao ent˜ao os valores de Fcom valores de referˆencia espec´ıficos.
2.2. M´ ETODO IMPLEMENTADO 15 Figura 2.13: Exemplo de fun¸c˜ao de referˆencia e fun¸c˜ao Fnormalizadas, em fun¸c˜ao das velocidades testadas (eixo ox, oy), para caso de an´alise de fluxo a 2D. Os valores de referˆencia: Os valores de referˆencia s˜ao criados individualmente para cada sub-pilha em fun¸c˜ao da velocidade ˆvencontrada para essa sub-pilha e da gama de velocidades admitida. No caso de an´alise de fluxo a uma dimens˜ao, a fun¸c˜ao de referˆencia ´e a fun¸c˜ao m´odulo deslocada do extremo de F(v), Referencia(v) = |v−ˆv|(2.4) onde ˆv´e a velocidade que otimiza a fun¸c˜ao F(v) (ou seja, a encontrada na rela¸c˜ao (3.2) ou (3.3)). Figura 2.14: C´alculo do fluxo a uma dimens˜ao numa sub-pilha. Figura produzida atrav´es do c´odigo CalcFluxo NFrames 1D.m. Em cima v´arios blocos da sub-pilha analisada. Em cima `a direita, perfis de intensidade dos blocos da sub-pilha. Em baixo, a azul, fun¸c˜ao F(v) em fun¸c˜ao das velocidades analisadas (eixo ox). A preto, fun¸c˜ao de referˆencia produzida.
16 CAP´ ITULO 2. ABORDAGENS AOS PROBLEMAS No caso do fluxo ser calculado a duas dimens˜oes, a fun¸c˜ao de referˆencia ´e uma fun¸c˜ao c´onica: Referencia(v) = q(vx−ˆvx)2+ (vy−ˆvy)2,(2.5) onde ( ˆvx,ˆvy) ´e o extremo de F(vx, vy). Figura 2.15: C´alculo do fluxo a duas dimens˜oes numa sub-pilha. Figura produzida atrav´es do c´odigo CalcFluxo NFrames 2D.m. Em cima v´arios blocos da sub-pilha analisada. Em baixo, fun¸c˜ao F(v) em fun¸c˜ao das velocidades analisadas (eixos ox, oy). ` A direita, fun¸c˜ao de referˆencia produzida para o caso. Para obter a confian¸ca para o pixel em quest˜ao, calcula-se o grau de associa¸c˜ao para o par de observa¸c˜oes F(v) e Ref(v), ∀v∈ {velocidades testadas}, que ir´a ser abordado como coeficiente de correla¸c˜ao. O coeficiente de correla¸c˜ao escolhido foi o coeficiente τde Kendall, em detrimento dos coeficientes de correla¸c˜ao r-Pearson e ρ-Spearman. O objetivo com a fun¸c˜ao de correla¸c˜ao ´e verificar se o m´aximo ou m´ınimo atingidos s˜ao relevantes, mesmo que haja algumas oscila¸c˜oes no gr´afico de F(v). O coeficiente de correla¸c˜ao de Pearson avalia a correspondˆencia linear entre dados, o que n˜ao ´e o que se pretende nesta associa¸c˜ao, porque nos casos em que as os valores comparados tˆem rela¸c˜ao mon´otona, mas n˜ao linear, a confian¸ca ´e alta e o coeficiente de Pearson n˜ao o traduz. A ideia de correla¸c˜ao do coeficiente de correla¸c˜ao de Spearman ´e a substitui¸c˜ao dos valores observados pelas suas ordens, ou ranks. Por exemplo, se uma amostra de trˆes valores for x1= 5.5, x2= 2.2, x3= 10.1, ent˜ao os respetivos ranks ser˜ao r1= 2, r2= 1, r3= 3. Ap´os substituir cada uma das amostras pelos seus ranks o coeficiente de Spearman ´e a aplica¸c˜ao do coeficiente de Pearson aos ranks das vari´aveis originais. ρS= 1 −6Pn i=1 D2 i n3−n(2.6) No caso de haver observa¸c˜oes empatadas, atribui-se um rank igual `a m´edia das posi¸c˜oes desses valores na ordena¸c˜ao ascendente dos valores. Um outro parˆametro de associa¸c˜ao entre vari´aveis ´e o coeficiente de Kendall. A correla¸c˜ao de Kendall ´e muitas vezes descrita como uma medida de concordˆancia entre dois conjuntos de classifica¸c˜oes relativas a um conjunto de objetos ou experiˆencias. Tal como no coeficiente de Spearman, este parˆametro utiliza os ranks da amostra, e para o determinar h´a que inicialmente
2.2. M´ ETODO IMPLEMENTADO 17 ordenar ambas as classifica¸c˜oes de acordo com a ordem crescente de uma delas, para a partir da´ı contar os pares que v˜ao no mesmo sentido. O coeficiente define-se da seguinte forma: Sejam XeYvari´aveis aleat´orias i.i.d. e sejam X1, X2, ..., Xn,Y1, Y2, ..., Ynamostras aleat´orias de Xe de Yrespetivamente. τ=]C −]D ]C +]D (2.7) Um par de observa¸c˜oes (Xi, Xj) diz-se concordante se Xi< Xj∧Yi< Yj, ou igualmente sign(Xj− Xi)·sign(Yj−Yi)>0, e discordante caso sign(Xj−Xi)·sign(Yj−Yi)<0. Se (Xj−Xi)·(Yj−Yi)=0 n˜ao h´a concordˆancia nem discordˆancia. Basicamente, este coeficiente mede a diferen¸ca entre a probabilidade dos valores de Xe de Y estarem na mesma ordem ( ]C ]C+]D )e a probabilidade de estarem em ordens diferentes ( ]D ]C+]D ), em que estas probabilidades s˜ao dadas atrav´es das frequˆencias relativas respetivas. Nos casos de empates, quando h´a valores repetidos na amostra, utiliza-se o coeficiente τbde Kendall, que se traduz por: τb=]C −]D q1 2n(n−1) −Txq1 2n(n−1) −Ty (2.8) onde Tx,Tys˜ao o n´umero de empates na vari´aveis XeY, respetivamente, e 1 2n(n−1) = Cn 2´e o n´umero de pares (i, j) que se avaliam. A equa¸c˜ao 2.8 ´e uma generaliza¸c˜ao da equa¸c˜ao 2.7. Caso n˜ao haja empates, Tx=Ty= 0 e ]C +]D =Cn 2. ´ E de notar que o conceito de concordˆancia de Kendall n˜ao avalia se as classifica¸c˜oes s˜ao iguais para ambos os avaliadores, mas sim se estas apontam num sentido comum de classifica¸c˜ao da amostra. No nosso caso, uma vez que um avaliador ´e a fun¸c˜ao m´odulo (ou c´onica), para cada valor de velocidade v, o algoritmo de Kendall avalia em que medida ´e que os restantes valores F(v0), est˜ao acima ou abaixo do valor de F(vi), (v06=v), relativizando estas medidas uma em rela¸c˜ao `a outra. O coeficiente de Spearman traduz significativamente valores pontuais n˜ao concordantes de atribui¸c˜oes dos ranks a duas vari´aveis. Contudo, por vezes a relevˆancia que atribui a estes valores n˜ao ´e compat´ıvel com a significˆancia atribu´ıda ao sentido comum de classifica¸c˜ao das velocidades, ou seja, ao comportamento de monotonia (embora com algum ru´ıdo) como o da fun¸c˜ao m´odulo, o que ´e muito importante para a confian¸ca que se pretende. Por outro lado, em muitas situa¸c˜oes os valores de τeρs˜ao muito pr´oximos. Em caso de discrepˆancia o mais seguro ´e, por defeito, interpretar o valor mais baixo, que ´e geralmente o do coeficiente de Kendall (Fredricks and Nelsen, 2007) e (Gibbons, 1993). Uma vez que a l´ogica computacional das suas f´ormulas ´e bastante diferente, as duas correla¸c˜oes tˆem magnitudes diferentes. Em Fredricks and Nelsen (2007) mostrou-se, sob condi¸c˜oes de regularidade amenas que, `a medida que a distribui¸c˜ao conjunta das vari´aveis aleat´orias se aproxima de independˆencia, a rela¸c˜ao ρ/τ = 3/2. O coeficiente de correla¸c˜ao escolhido como medida de associa¸c˜ao entre F(v) e Referencia(v) foi ent˜ao o coeficiente de correla¸c˜ao de Kendall. De seguida ´e apresentado um pequeno exemplo de determina¸c˜ao do τbde Kendall. Exemplo: Suponhamos que num caso hipot´etico de avalia¸c˜ao do fluxo a 1D estamos a avaliar a gama de velocidades {−3,−2,−1,0,1,2,3}px/frame. Sejam, por hip´otese, valores de R(v) os apresentados na tabela seguinte, e a correspondente fun¸c˜ao de referˆencia, Ref(v), a apresentada:
18 CAP´ ITULO 2. ABORDAGENS AOS PROBLEMAS Tabela 2.1: Exemplo de valores obtidos para Fe para Ref. A verde, F(ˆv) v-3 -2 -1 0 1 2 3 F(v) 5.56 4.19 4.03 2.98 1.60 4.03 3.74 Ref(v) 4 3 2 1 0 1 2 Ordenando a tabela anterior consoante a ordem crescente de F(v) resulta a tabela seguinte: Tabela 2.2: Valores exemplo obtidos para Re para Ref ordenados; v1 0 3 -1 2 -2 -3 F(v) (cresc) 1.60 2.98 3.74 4.03 4.03 4.19 5.56 Ref(v) 0 1 2 1 2 3 4 Para obter o τbde Kendall procedemos da seguinte forma: Para a primeira coluna, em v= 1, F(vj)> F(v1),∀j > 1 e Ref(vj)> Ref(v1),∀j > 1. Ou seja, todos os valores de F`a direita da primeira entrada s˜ao superiores a 1.60 e todos os valores `a direita de 0 s˜ao superiores a 0. Tem-se portanto 6 casos concordantes e 0 casos discordantes. Fixando a segunda coluna, `a direita de 1 (= Ref(0)) temos 4 valores superiores a 1, e `a direita de 2.98 (= F(0)) temos 5 valores superiores a este valor. Portanto aqui temos apenas 4 casos concordantes (sign(4.03 −2.98) ·sign(1 −1) = 0, logo n˜ao ´e caso concordante) e de novo 0 casos discordantes. Para a terceira coluna, temos apenas duas entradas superiores a 2 (= Ref(3)), e uma menor do que 2. Todos os valores `a direita de 3.74 s˜ao superiores a este valor, e portanto temos dois casos concordantes. Como Ref(−1) < Ref(3), temos um caso discordante. Na quarta coluna, `a direita de 1 temos 3 valores superiores a 1, mas para a linha de cima h´a um valor igual a 4.03, e portanto n˜ao ´e contabilizado como caso concordante. Aqui temos 2 casos concordantes e 0 discordantes. Na coluna 5 temos dois casos concordantes e na 6acoluna h´a 1 caso concordante. No total, h´a 17 casos concordantes e 1 caso discordante. O n´umero de pares repetidos em F(v) ´e 1, (4.03), e o n´umero de pares repetidos de Ref(v) ´e 2, (1) e (2). Portanto τb=17 −1 q1 2·7·6−1q1 2·7·6−2 =16 √21 −1√21 −2= 0.8208 De facto, os valores de Ref eFtˆem o mesmo sentido, o que ´e traduzido pelo elevado valor de τ. 2.2.1 O programa O algoritmo para calcular o fluxo numa sequˆencia de frames de um filme foi implementado no script CalcularFluxo.m, cuja descri¸c˜ao detalhada pode ser consultada no ANEXO A. Para uma melhor compreens˜ao do algoritmo e do programa elaborado apresenta-se de seguida um diagrama de fluxo que ilustra as principais etapas do algoritmo.
2.2. M´ ETODO IMPLEMENTADO 19 Diagrama de fluxo do c´odigo Matlab CalcularFluxo.m 2. Seleção de um filme, de uma sequência de frames específica, do ficheiro de polos e 𝜇’s correspondente, e do ficheiro com o registo temporal dos frames. (Sub-rotina: LeituraFramesPolosMiusTempos. m) 3. Estabelecer a dimensão das janelas de trabalho que se irão utilizar 4. Aplicação do mapa conformacional ao frames selecionados ConfMapping.m 5. Visualização do filme dos mapas conformacionais produzidos 6. Uma vez que visualizou o filme das imagens após a aplicação dos mapas, quer excluir algum frame da análise do fluxo? frames_nao_usar = input() Frames(frames_nao_usar )= [ ] 7. Qual o número de frames a considerar em cada janela de cálculo? NumFramesNaJanela = input() A Início 1. CalculoFluxo_DIM =1 ou 2; 8. Qual o valor de vmax e de dv que quer utilizar? A gama de velocidades que vai testar será [- vmax : dv : vmax ] vmax = input(); dv=input(); Pode avaliar o fluxo em sequências de frames diferentes. Exemplo: Sequência de frames a analisar: [1,2,3,4,5,6]. Se pretender analisar o fluxo do 1º ao 4º e, separadamente, do 3º ao 6º, então Nframes = 4. Se pretende analisar o fluxo na sequência completa, Nframes = 6. Não Sim Figura 2.16: Programa CalcularFluxo. Diagrama de fluxo (parte 1)
20 CAP´ ITULO 2. ABORDAGENS AOS PROBLEMAS Processamento de tarefas em paralelo A 9. Escolha a função que quer utilizar para calcular os deslocamentos dos pixéis entre frames: 1. Correlação Generalizada colapsando janelas com o máximo 2. Correlação Generalizada colapsando janelas com a mediana 3. Função de DAM colapsando janelas com o máximo: 4. Função de DAM colapsando janelas com a mediana 5. Função de Correlação Generalizada 2D 6. Função de DAM 2D escolha = input(1,2,3,4,5 ou 6); 13. Cálculo do fluxo e do coeficiente de correlação obtido para o pixel ( n , m ) utilizando o algoritmo de cálculo de fluxo escolhido em 9. M_vel ( n, m, i ) = [fluxo, S] Sub-rotinas: CalcFluxo_Nframes_1D.m ou CalcFluxo_Nframes_2D.m M_vel ( n , m , i, : ) = [ nan , nan ] 10. Ciclo que corre todas as sequência de frames indicadas em 7. 11. Ciclo que percorre todas as linhas do primeiro frame desta sequência, dentro da região possível, consoante dimensões estabelecidas em 2. (for n= 1 + L2 : size(frame,1) - L2) 12. Ciclo que percorre todas as colunas do primeiro frame desta sequência, dentro da região possível, consoante dimensões estabelecidas em 2. O processamento das tarefas de 13 é efectuado em paralelo nos processadores disponíveis na máquina. (parfor m = 1 + K2 : size(frame,1) - K2 ) Dada a velocidade vmax estabelecida em 8 e a dimensão das janelas estabelecida em 7, as janelas de trabalho incidem totalmente dentro dos frames da sequência selecionada. B C Falso Verdadeiro Matlabpool open Figura 2.17: Programa CalcularFluxo. Diagrama de fluxo (parte 2)
2.2. M´ ETODO IMPLEMENTADO 21 1 13. Visualização do mapa de velocidades produzido (M_vel ) e do mapa de coeficientes 𝜏 Kendall (M_pesos) B CalculoFluxo_DIM = ? 14. Aplicação ao mapa de velocidades de um mapa conformacional invertido, para obter um mapa de velocidades para as imagens dos fusos. Sub-rotina: ConfMapping_inverso.m Visualização deste novo mapa de velocidades 13. Visualização do grafico vectorial de velocidades produzido (quiver( M_vel) ) e do mapa de coeficientes 𝜏 Kendall (M_pesos) 2 C 15. Cálculo da média de todos os mapas de velocidades gerados, Matriz_FluxoMedio. (um mapa para cada sequência) Visualização do mapa de velocidades médias (matriz ou gráfico vectorial, consoante CalculoFluxo_DIM =1 ou 2) 16. Quer visualizar as velocidades médias calculadas apenas nos pixeis onde o coeficiente 𝜏-Kendall médio é superior a determinado valor? Não Sim D Fim Figura 2.18: Programa CalcularFluxo. Diagrama de fluxo (parte 3)
22 CAP´ ITULO 2. ABORDAGENS AOS PROBLEMAS - Visualização de todos os mapas de velocidades obtidos (matriz ou gráficos vetoriais, consoante CalculoFluxo_DIM =1 ou 2) apenas nos pontos onde o coeficiente 𝜏-Kendall é superior a w_min (restantes pontos, com valor =nan). - Visualização do mapa de velocidades médio (matriz ou gráficos vetoriais, consoante CalculoFluxo_DIM =1 ou 2) apenas nos pixeis onde todos os coeficientes 𝜏 Kendall obtidos foram superiores a w_min. 17. Qual o valor mínimo para 𝜏 Kendall médio dos pixéis? w_min = limiar mínimo Fim D Figura 2.19: Programa CalcularFluxo. Diagrama de fluxo (parte 4) 2.3 An´alise do Decaimento Neste trabalho procurou-se ajustar a intensidade dos frames ao longo do tempo a uma fun¸c˜ao exponencial, segundo a lei descrita na equa¸c˜ao seguinte. I(t) = a·exp −t decay(2.9) em que I(t) ´e o valor da intensidade no instante t,t´e o instante no tempo e decay ´e o parˆametro de decaimento da intensidade. Para an´alise de decaimento deve ter-se em conta que o decaimento das intensidades nos frames prende-se essencialmente com dois aspectos: •Perda de fluorescˆencia dos microtubulos •Fen´omeno de turnover Graficamente, o comportamento da intensidade dos pontos marcados nos filmes, quer pontos de intensidade inicial mais alta, quer pontos de intensidade inicial baixa, pode ser visto como a combina¸c˜ao de dois mecanismos a atuar em escalas de tempo distintas (Figura 2.20).
2.3. AN ´ ALISE DO DECAIMENTO 23 Figura 2.20: Ilustra¸c˜ao de decaimento m´edio Uma poss´ıvel abordagem `a determina¸c˜ao de turnover consiste em calcular a diferen¸ca entre as duas curvas exponenciais para obter uma regi˜ao de confian¸ca para a curva de turnover ao longo do tempo (2.20, curva azul). Para esta regi˜ao ser aceite, ´e necess´ario ter confian¸ca nos ajustes exponenciais do decaimento de intensidade efetuados nas regi˜oes de speckles e nas regi˜oes escuras. Os parˆametros utilizados para avaliar as regress˜oes s˜ao o coeficiente de determina¸c˜ao e o coeficiente de correla¸c˜ao. A regress˜ao exponencial pode ser reduzida a um caso de regress˜ao linear atrav´es da sua logaritmiza¸c˜ao. y=aebx (2.10) ln y=bx + ln a(2.11) Fazendo z= ln y,w=ln(a), a equa¸c˜ao 2.11 transforma-se na equa¸c˜ao da reta: z=bx +w. No MATLAB, os parˆametros da regress˜ao linear s˜ao determinados pelo m´etodo dos m´ınimos quadrados. O parˆametro inicial, ˆ b, ´e o parˆametro determinado pelos m´ınimos quadrados e o parˆametro avem da rela¸c˜ao a=eˆw. Confian¸ca nos resultados: Ap´os calculada a regress˜ao linear, ´e necess´ario verificar se os dados s˜ao descritos pelo modelo e determinar a variabilidade amostral que ´e de facto determinada pela equa¸c˜ao encontrada. Seja yium valor da amostra, ˆyio valor da vari´avel independente dado pela regress˜ao e ¯ya m´edia
30 CAP´ ITULO 3. PROGRAMAS AUXILIARES em que o parˆametro µrepresenta o grau de mapeamento c´onico/el´ıptico. Figura 3.1: Ilustra¸c˜ao de super elipses com diferentes valores de µ. Para fazer a marca¸c˜ao das curvas da super-elipse (curva de Lam´e) sobre o fuso, utilizamos as equa¸c˜oes param´etricas da super-elipse uma vez que os fusos se encontram geralmente inclinados em rela¸c˜ao aos eixos vertical e horizontal. x(θ) = |cos(θ)|2/(µ+1) ·a·sign(cos(θ)), y(θ) = |sen(θ)|2/(µ+1) ·b·sign(sen(θ)). (3.2) Rota¸c˜ao de ˆangulo φ: x=x(θ)·cos(φ)−y·sen(φ) y=y(θ)·cos(φ) + x·sen(φ) 3.2.1 O programa O algoritmo para marca¸c˜ao de polos foi implementado no script MarcarPolos.m De seguida, apresenta-se um diagrama de fluxo do c´odigo elaborado para implementa¸c˜ao do algoritmo.
3.2. MARCAC¸ ˜ AO DOS POLOS 31 Início 1. Selecionar: um filme, uma sequência de frames específica, (Sub-rotina: LeituraFramesPolosMiusTempos. m) 2. Visualização das imagens selecionadas 3. Ciclo que corre todos os frames 4. Alterou o ciclo normal de frames a analisar? ChangeFrame==1? f = frame escolhido (FrameIndex) 6. Marque os polos no frame atual (f) visualizando as imagens com a opção determinada anteriormente. (sub-rotina: MarcaçãoDePolos.m) 7. “Enquanto não estiver satisfeito com os polos marcados neste frame” While satisfeito==0 8. Marcou os polos sem provocar erros e não pretende remarcar nenhum polo. A1 Verdadeiro Falso 5. Quer ver a imagem original ou as curvas de nível da imagem original? [0=original; 1=curvas nível] : Original (colormap jet) Curvas de nível (contour()) Determine um valor de 𝜇 para este frame A2 B1 B2 C1 C1 D ChangeFrame=0; Verdadeiro Falso Figura 3.2: Diagrama de fluxo do programa MarcarPolos, parte 1.
32 CAP´ ITULO 3. PROGRAMAS AUXILIARES 9. Marque os polos no frame atual (f) visualizando as imagens com a opção determinada em 5. (sub-rotina: MarcaçãoDePolos.m) 10. Está no primeiro frame da sequência seleccionada em 1. Verdadeiro Falso Visualizações: 1. Imagem original + Imagem rodada e centrada no fuso 2. Se optar, pode ver a imagem original e a imagem rodada e centrada no fuso com as curvas de nível 3. Mapa conformacional resultante da marcação de polos e do ajuste do 𝜇 efetuados. Visualizações: 1. Frame mais próximo do atual com polos marcados e elipse desenhada + Frame atual com polos marcados e elipse gerada 2. Se optar, pode ver as imagens do ponto 1 e as suas elipses através das suas curvas de nível 3. Imagem anterior rodada e centrada no fuso + Imagem atual rodada e centrada no fuso 4. Mapa conformacional da imagem anterior + mapa conformacional da imagem atual Está satisfeito com os polos e o 𝜇 atribuídos a este frame? [0=não, 1=sim] Quer remarcar os polos ou o 𝜇 atribuídos? 𝜇 polos 𝜇=? Satisfeito=0 A1 A2 B1 Satisfeito=1 Não Sim Figura 3.3: Diagrama de fluxo do programa MarcarPolos, parte 2.
3.2. MARCAC¸ ˜ AO DOS POLOS 33 Visualizações: Imagens rodadas, centradas e limitadas ao fuso + Mapas conformacionais destas Quer ver o filme das imagens rodadas e centradas no fuso? Visualizações: Filme das imagens rodadas, centradas e limitadas ao fuso, através do Matlab video player Quer passar ao frame seguinte ou a um outro? [0=seguinte, 1=outro] ChangeFrame=1; FrameIndex = ? Sim Não ChangeFrame=0; Seguinte Outro B2 D Quer guardar os polos e 𝜇’s num ficheiro .mat? [0=não, 1=sim] Fim Qual o nome a dar ao ficheiro onde guardará os polos e os 𝜇’s? Não Sim Figura 3.4: Diagrama de fluxo do programa MarcarPolos, parte 3.
34 CAP´ ITULO 3. PROGRAMAS AUXILIARES 3.3 Mapa conformacional super-elipse - linhas paralelas O algoritmo: Foi criada uma fun¸c˜ao no MATLAB para aplicar o mapa conformacional, a fun¸c˜ao ConfMapping.m. Esta fun¸c˜ao ´e aplicada `as imagens rodadas e centradas nos fusos. Os inputs desta fun¸c˜ao s˜ao: •frame: Frame com o fuso em quest˜ao ao qual se quer aplicar o mapa conformacional •polos: Coordenadas dos polos marcados no frame •µ: Parˆametro µatribu´ıdo a este frame No in´ıcio do algoritmo ´e efetuada uma rota¸c˜ao `a imagem de entrada consoante o ˆangulo entre o vetor ~ P1P2 e o eixo horizontal (em que P1 e P2 s˜ao os polos ilustrados na figura 3.5, αo ˆangulo de rota¸c˜ao). Figura 3.5: Rota¸c˜ao e transla¸c˜ao das imagens para gerar as novas imagens. Recorta-se de seguida a imagem pelo retˆangulo que inscreve a elipse subjacente aos pontos marcados. Ao fazer este recorte da imagem tem-se o cuidado de criar imagens com um n´umero ´ımpar de linhas e colunas. Assim consegue-se que o centro da imagem incida precisamente no centro do fuso calculado atrav´es das coordenadas dos polos. Seja (a, b) o pixel central da imagem, 2a+ 1 o n´umero de linhas e 2b+ 1 o n´umero de colunas desta nova imagem. A constru¸c˜ao dos mapas foi simplificada com deslizamento horizontal dos pixeis sobre as elipses de forma a construir linhas paralelas verticais. Esta aproxima¸c˜ao s´o n˜ao seria apropriada junto aos polos. No entanto essa regi˜ao nunca ´e usado nas estimativas do fluxo. De seguida entra-se num ciclo que percorre todas as linhas do hemisf´erio superior da imagem. Para cada par ordenado (x1, y1) da nova imagem “adapta-se” uma elipse centrada em (a+1, b+1) que passe nesse ponto e tenha semi-eixo menor igual a b, como ilustrado na figura 3.6.
3.3. MAPA CONFORMACIONAL SUPER-ELIPSE - LINHAS PARALELAS 35 Figura 3.6: Ilustra¸c˜ao do mapa conformacional elipse - linhas paralelas . Para cada linha nda imagem determina-se o ponto xn. Considerem-se os eixos laranja da figura 3.6. Nestes eixos, o ponto xn´e um ponto da elipse centrada em (0,0) com semi-eixo maior be semi-eixo menor a, que tem ordenada na linha n. A ordenada do ponto xn´e obtida em fun¸c˜ao da linha npor y=b+ 1 −n. A abcissa de xn, nos eixos laranja, ´e obtida ent˜ao atrav´es da equa¸c˜ao da elipse e dos parˆametros j´a dispon´ıveis: x aµ+1 +y bµ+1 = 1 ⇔ ⇔x=±aµ+1 r1−y bµ+1 =⇒x=aµ+1 s1−b+ 1 −n bµ+1 +a Consideram-se de seguida todos os pontos da linha nque est˜ao no interior da elipse, ou seja, todos os pixeis do vetor [a+ 1 −xn:a+ 1 + xn]. Seja (x1, y1) um desses pontos. Existe uma elipse centrada em (a+ 1, b + 1) que passa no ponto (x1, y1) e tem semi-eixo maior igual a b, como ilustrado na figura 3.6. ´ E poss´ıvel ent˜ao determinar o semi-eixo menor dessa elipse, a0, atrav´es da equa¸c˜ao da super-elipse. Considerando de novo os eixos laranja: x a0µ+1 +y bµ+1 = 1 ⇔x a0=µ+1 r1−y bµ+1
36 CAP´ ITULO 3. PROGRAMAS AUXILIARES ⇔a0=±x µ+1 r1−y bµ+1 =⇒a0=x µ+1 s1−b+ 1 −n bµ+1 Nos eixos da imagem, obt´em-se a0=a+ 1 −a0. A transforma¸c˜ao de cada par ordenado (x1, y1) da linha nque esteja no interior da super-elipse ´e ent˜ao dada por: (x1, y1)−→ (a0, y1) em que a0´e o semi-eixo menor da elipse que passa por (x1, y1) e tem semi-eixo maior b. Esta abordagem ´e aplicada a todas as linhas da imagem, produzindo ent˜ao um mapa conformacional el´ıptico da imagem inicial. Pela natureza discreta dos mapas de pixeis e pela ´area da elipse ser inferior `a do retˆangulo, o resultado desta aplica¸c˜ao ir´a conter valores Nan (not a number). Para preencher os pixeis que ficam sem valores atribu´ıdos, efetua-se interpola¸c˜ao nas linhas da imagem. A interpola¸c˜ao ´e efetuada atrav´es do comando interp1, com ’method’=’spline’ (interpola¸c˜ao linear c´ubica). Figura 3.7: Fuso mit´otico de c´elula de Drosophila S2 ap´os aplica¸c˜ao do mapa conformacional. Imagem anterior ap´os interpola¸c˜ao. Mapa conformacional linhas paralelas - super-elipse: Para obter imagens dos mapas de velocidades com a conforma¸c˜ao dos frames originais, criou-se a fun¸c˜ao ConfMapping inverso.m.
3.3. MAPA CONFORMACIONAL SUPER-ELIPSE - LINHAS PARALELAS 37 Figura 3.8: Imagens de fusos mit´oticos manipuladas com as fun¸c˜oes de mapa conformacional Esta fun¸c˜ao ´e bastante simples, e os acertos de linhas e colunas funcionam da mesma forma da fun¸c˜ao anterior. A cada pixel (x, y) faz corresponder a posi¸c˜ao (x0, y), em que x0´e dado por: x0 xµ+1 +y bµ+1 = 1 ⇔ ⇔x0=±xµ+1 r1−y bµ+1 =⇒x=xµ+1 s1−b+ 1 −n bµ+1 .
38 CAP´ ITULO 3. PROGRAMAS AUXILIARES
Cap´ıtulo 4 Resultados Afim de validar os resultados finais obtidos, efetuou-se um estudo paralelo em dados de controlo para testar os algoritmos implementados para o c´alculo de fluxo e para o c´alculo do decaimento. Neste estudo, criaram-se trˆes scripts de controlo. Um que produz os dados teste para fluxo a uma dimens˜ao, o script DadosTeste.m; outro que efetua o c´alculo do fluxo sobre estes dados, CalcularFluxo Testes.m; e um terceiro que calcula o decaimento nos dados de teste, DecaimentoSemiAutomatico Testes.m.. Estes programas aplicam os mesmos algoritmos descritos no Cap´ıtulo 1, tendo apenas altera¸c˜oes nos preˆambulos, mas n˜ao nos ciclos que efetuam os c´alculos principais. Para testar o fluxo a 2D foram utilizadas dez imagens do filme de c´elulas Drosophila S2 no qual se marcaram individualmente trˆes speckles artificiais com velocidades controladas. 4.1 Os dados de teste Dados de teste para fluxo a 1D O c´odigo para criar imagens artificiais encontra-se no script DadosTeste.m. Aqui foi implementado um algoritmo para construir pilhas artificiais de imagens totalmente controladas, em que nessas imagens existem speckles simulados. As imagem da pilha tˆem dimens˜ao Dim ×Dim, em que Dim ´e o n´umero de linhas e colunas das imagens, determinado no in´ıcio do script. Ao longo das colunas da imagem, as entradas s˜ao sempre iguais, ou seja, os speckles s˜ao representados como feixes horizontais ao longo do comprimento das imagens. A constru¸c˜ao destas imagens inicia-se com a indu¸c˜ao de speckles no primeiro frame das pilha das imagens. Os speckles s˜ao constru´ıdos por convolu¸c˜ao entre um vetor das amplitudes dos speckles e uma fun¸c˜ao gaussiana de parˆametro σcontrolado. Uma fun¸c˜ao linear de velocidade em fun¸c˜ao das linhas das imagens determina a velocidade a que os speckles se deslocam ao longo da pilha de imagens. O movimento ´e induzido no sentido ascendente, no hemisf´erio superior das imagens, e no sentido descendente no hemisf´erio inferior, como representado na figura 4.1. Figura 4.1: Exemplo de frames consecutivos de controlo criados com o programa DadosTeste.m 39
46 CAP´ ITULO 4. RESULTADOS 1. Fun¸c˜ao de Correla¸c˜ao generalizada; Janelas colapsadas com o m´aximo. 2. Fun¸c˜ao de Correla¸c˜ao generalizada; Janelas colapsadas com a mediana. 3. Fun¸c˜ao das Diferen¸cas Absolutas `a M´edia; Janelas colapsadas com o m´aximo. 4. Fun¸c˜ao das Diferen¸cas Absolutas `a M´edia; Janelas colapsadas com a mediana. Os testes que foram efetuados focaram-se principalmente no desempenho dos algoritmos em rela¸c˜ao a trˆes fatores dos filmes de teste: •Ru´ıdo •Rela¸c˜ao entre a altura dos blocos de trabalho e a dimens˜ao dos speckles artificiais •Velocidade m´ınimas e m´aximas diferentes De seguida s˜ao apresentados v´arios resultados que permitiram selecionar o algoritmo com melhor performance e efic´acia no c´alculo do fluxo. O n´umero de frames utilizados nos testes ´e normalmente 5 para ser poss´ıvel medir velocidade em regi˜oes menos centrais das imagens. O primeiro caso ´e o teste de controlo em que n˜ao existe ru´ıdo. Os speckles movem-se a velocidade controlada, sendo a velocidade m´axima de 4.2px/s e a velocidade m´ınima 0.1px/s. Caso 1: Neste caso a pilha de testes produzida consiste de 5 imagens. Os parˆametros utilizados foram os da lista seguinte. Parˆametros do filme artificial: •Dim = 120 •Nframes = 5 •Nspeckles = 30 •ru´ıdo = 0 •dt = 1.0 •t = (0:dt:(Nframes-1)*dt)’ •dv = 0.1 •vmax = 4.2 px/s •vmin = 0.1 px/s •decay = 1000 •sigma = 2 Parˆametros do c´alculo do fluxo 1D: •Altura = 13 •Largura = 10 •N˜ao excluir frames, testando a sequˆencia de frames [1,2,3,4,5] •Vmax=5 •Dv=0.1 Uma vez que se pretende com este ensaio verificar a sensibilidade dos algoritmos para velocidades distintas no equador e na periferia das imagens, e que a velocidade m´axima admitida ´e de 4.2px/s, foi necess´ario considerar uma dimens˜ao relativamente grande das imagens, neste caso 120x120px. As velocidades induzidas na pilha est˜ao mapeadas na figura 4.8.
4.2. RESULTADOS NOS DADOS DE TESTE 47 Figura 4.8: Mapa de velocidades reais (px/s) induzidas no filme do caso 1. Alguns valores de velocidades destacados para melhor interpreta¸c˜ao do gr´afico. A fun¸c˜ao de velocidades neste caso ´e dada por v(y) = −0.0014 ·(y−60)2+ 4.2, onde y∈ {1,2,3, ..., 120}. A figura 4.9 apresenta o perfil de intensidades da pilha considerada neste caso ao longo das colunas dos frames. Uma vez que n˜ao foi induzido nenhum ru´ıdo nas imagens, todas as colunas de cada imagem s˜ao iguais, e portanto o perfil ao longo de uma coluna traduz o perfil de intensidades para toda a pilha. Na figura o eixo dos xx representa o eixo das linhas da pilha, enquanto que o eixo dos yy as intensidades. Este eixo est´a subdividido em pequenos eixos, um para cada frame. Nesta imagem ´e poss´ıvel detetar facilmente o movimento das ondas de intensidade em dire¸c˜ao `a periferia do fuso. Figura 4.9: Perfil de intensidades da pilha produzida para o teste de controlo. As pequenas varia¸c˜oes do sinal de frame-para-frame devem-se ao facto deste sinal ser produzido atrav´es de uma opera¸c˜ao que considera os ´ındices das linhas dos pixeis. Os resultados obtidos com os diferentes algoritmos s˜ao os apresentados nas figuras seguintes. Como n˜ao foi induzido ru´ıdo, os algoritmos 1 e 2 e os algoritmos 3 e 4 produzem o mesmo resultado.
48 CAP´ ITULO 4. RESULTADOS Uma vez que as colunas s˜ao todas iguais, em cada linha o m´aximo ou a mediana das entradas ´e o valor de qualquer entrada, pois s˜ao todas idˆenticas. 1. Fun¸c˜ao de Correla¸c˜ao generalizada; Janelas colapsadas com o m´aximo. Figura 4.10: Velocidades (px/s) e valores de τ-Kendall obtidos com o algoritmo da correla¸c˜ao generalizada, colapsando as janelas com o m´aximo. 3. Fun¸c˜ao das diferen¸cas absolutas `a m´edia; Janelas colapsadas com o m´aximo. Figura 4.11: Velocidades (px/s) e valores de τ-Kendall obtidos com o algoritmo das diferen¸cas absolutas `a m´edia, colapsando as janelas com o m´aximo. Os valores de velocidades real¸cados nos mapas de velocidades s˜ao referentes aos mesmos pixeis real¸cados no mapa de velocidades da figura 4.8. Ambos os algoritmos tiveram um bom desempenho no hemisf´erio superior das pilhas, contudo o algoritmo da fun¸c˜ao de diferen¸cas absolutas em rela¸c˜ao `a m´edia aproximou-se mais das veloci-
4.2. RESULTADOS NOS DADOS DE TESTE 49 dades reais. Tamb´em no hemisf´erio sul as velocidades determinadas por este algoritmo s˜ao mais aproximadas das velocidades reais, e para al´em disso, com o algoritmo da correla¸c˜ao adaptada verificou-se invers˜ao da derivada da velocidade. Para melhor interpreta¸c˜ao dos mapas apresenta-se um gr´afico 2D das velocidades dos mapas ao longo das linhas na figura 4.12. Figura 4.12: Compara¸c˜ao dos resultados obtidos para o teste de controlo do caso 1. Gr´afico das velocidades (px/s) obtidas em fun¸c˜ao das linhas para os dois m´etodos considerados e velocidades (px/s) atribu´ıdas a cada pixel, no caso 1. Atrav´es dos gr´aficos anteriores compreende-se que a fun¸c˜ao de correla¸c˜ao generalizada adaptada oscila mais relativamente `as velocidades reais do que a fun¸c˜ao de diferen¸cas absolutas `a m´edia. Contudo, na proximidade da periferia, ou seja, fora do centro da imagem, a fun¸c˜ao de correla¸c˜ao come¸ca a ter melhor desempenho, uma vez que h´a maior quantidade de picos (speckles) nestas regi˜oes. Foram efetuados v´arios testes para perceber o desempenho da fun¸c˜ao de correla¸c˜ao e da fun¸c˜ao de diferen¸cas absolutas `a m´edia, consoante o tipo de perfil de intensidades dos frames. Caso 2: O teste seguinte exemplifica o desempenho dos algoritmos face a uma rela¸c˜ao muito diferente entre a altura das janelas, Altura, e o diˆametro dos speckles, 2σ+ 1. Neste teste provoc´amos que as regi˜oes a considerar n˜ao tivessem liberdade, e abrangessem praticamente apenas o diˆametro dos speckles. Os parˆametros utilizados no teste foram os seguintes:
50 CAP´ ITULO 4. RESULTADOS Parˆametros do filme artificial: •Dim = 90 •Nframes = 5 •Nspeckles = 30 •ru´ıdo = 0.5 •dt = 1.0 •t = (0:dt:(Nframes-1)*dt)’ •dv = 0.1 •vmax = 2.7 •vmin = 2.7 •decay = 1000 •sigma = 5 Parˆametros do c´alculo do fluxo 1D: •Altura = 6 •Largura = 10 •N˜ao excluir frames, testando a sequˆencia de frames [1,2,3,4,5] •Vmax=5 •Dv=0.1 Figura 4.13: Perfil de intensidades da pilha produzida para caso 2. Rela¸c˜ao sinal/ru´ıdo = 0.5, σ= 5. Agora com a amplitude do ru´ıdo a aproximar-se da ordem de grandeza da amplitude do sinal, come¸ca a ser dif´ıcil a perce¸c˜ao do fluxo ao longo dos gr´aficos do perfil de intensidades para as colunas (Figura 4.13). Note-se que na regi˜ao do equador a intensidade do sinal ´e ligeiramente mais baixa do que as intensidades em seu redor (contando com ru´ıdo). Tamb´em na regi˜ao da linha 25 e da linha 65 se verifica uma ligeira redu¸c˜ao da intensidade. Este aspeto ir´a ter influˆencia nos resultados seguintes.
4.2. RESULTADOS NOS DADOS DE TESTE 51 1. Fun¸c˜ao de correla¸c˜ao generalizada; Janelas colapsadas com o m´aximo. Figura 4.14: Velocidades (px/s) e valores de τ-Kendall obtidos com o algoritmo da correla¸c˜ao generalizada, colapsando as janelas com o m´aximo. Ru´ıdo = 0.5, σ= 5, Altura = 6. 2. Fun¸c˜ao de correla¸c˜ao generalizada; Janelas colapsadas com a mediana. Figura 4.15: Velocidades (px/s) e valores de τ-Kendall obtidos com o algoritmo da correla¸c˜ao generalizada, colapsando as janelas com a mediana. Ru´ıdo = 0.5, σ= 5, Altura = 6.
52 CAP´ ITULO 4. RESULTADOS 3. Fun¸c˜ao das diferen¸cas absolutas `a m´edia; Janelas colapsadas com o m´aximo. Figura 4.16: Velocidades (px/s) e valores de τ-Kendall obtidos com o algoritmo das diferen¸cas absolutas `a m´edia, colapsando as janelas com o m´aximo. Ru´ıdo = 0.5, σ= 5, Altura = 6. 4. Fun¸c˜ao das diferen¸cas absolutas `a m´edia; Janelas colapsadas com a mediana. Figura 4.17: Velocidades (px/s) e valores de τ-Kendall obtidos com o algoritmo das diferen¸cas absolutas `a m´edia, colapsando as janelas com a mediana. Ru´ıdo = 0.5, σ= 5, Altura = 6. Com o algoritmo de correla¸c˜ao generalizada adaptada, quer para os resultados apresentados nas figuras 4.14 e 4.15, quer para outros resultados realizados n˜ao registados aqui, as velocidades determinadas atingem, em v´arios pixeis, os valores limites de vmax. Nas figuras referidas, v´arias zonas dos mapas de velocidades apresentam velocidades de -5px/s e 5px/s. Tal ocorre por estas zonas serem zonas de baixa intensidade e por o referido algoritmo
4.2. RESULTADOS NOS DADOS DE TESTE 53 promover a velocidade que obt´em um produto maior entre os blocos admitidos. Nestes casos, para maximizar o produto, a zona mais baixa tem de ser multiplicada por uma zona mais alta (as regi˜oes de speckles). Por isso, nas regi˜oes de intensidades mais baixas este algoritmo produziu velocidades mais discrepantes. (Por exemplo, linha 26 ou linhas centrais). O algoritmo das diferen¸cas absolutas `a m´edia produziu resultados mais satisfat´orios. No mapa produzido com o Algoritmo 3, figura 4.16, a maioria das velocidades s˜ao condizentes com o presuposto, principalmente no hemisf´erio superior da pilha. Neste hemisf´erio a maior parte dos valores obtidos foi -2.7px/s, e na parte inferior 2.7px/s. Quer no mapa da figura 4.16, quer no mapa da figura 4.17, na zona do equador h´a bastantes oscila¸c˜oes. Estas devem-se ao facto de nesta regi˜ao haver speckles a deslocarem-se em regi˜oes opostas, como est´a ilustrado na figura seguinte. Figura 4.18: Pormenor do equador de uma pilha de teste. Regi˜ao central de uma pilha de teste em dois frames consecutivos. Janelas de trabalho evidenciadas. Na figura 4.18 a janela de trabalho incide numa regi˜ao central de uma pilha. No primeiro frame h´a um speckle no centro da janela, e no frame seguinte h´a dois speckles a deslocarem-se em sentidos opostos. Enquanto que o algoritmo da correla¸c˜ao generalizada adaptada procura os pontos de intensidade mais alta para obter um produto mais elevado, o algoritmo DAM procura as regi˜oes mais semelhantes. Assim, nas regi˜oes centrais ´e usual os resultados com ambos os m´etodos estarem bastante enviesados, pois os blocos encaixam com os dois speckles, o que se desloca para cima e o que se desloca para baixo. Por isso os mapas de velocidades apresentam uma mistura de cores muito heterog´enea na regi˜ao do equador. V´arios testes foram efetuados para avaliar o desempenho dos algoritmos quando em presen¸ca de ru´ıdo. Tal como nos casos anteriores, o algoritmo DAM utilizando o m´aximo para colapsar as janelas de trabalho foi o mais bem sucedido em todos os casos. Caso 3: Afim de avaliar os algoritmos numa situa¸c˜ao controlada que fosse o mais possivel pr´oxima da realidade das imagens dispon´ıveis, efetuou-se um teste sobre uma pilha de imagens que se produziu especialmente para se assemelharem aos dados reais. O gr´afico da figura 4.19 trata-se do plot da 60acoluna do oitavo frame de um filme de c´elulas Drosophila S2. O gr´afico da direita representa os mesmos dados, mas apenas nas primeiras 100 linhas.
54 CAP´ ITULO 4. RESULTADOS Figura 4.19: Perfil de intensidades de uma coluna de imagem Drosophila S2. Parˆametros que produzem pilhas de teste com perfis de intensidades semelhantes ao da figura 4.19 s˜ao, por exemplo, os parˆametros do filme artificial listados de seguida. Os parˆametros para correr o programa de c´alculo de fluxo que retornaram os resultados seguintes foram os da direita. Parˆametros do filme artificial: •Dim = 100 •Nframes = 4 •Nspeckles = 8 •ru´ıdo = 0.3 •dt = 1.0 •t = (0:dt:(Nframes-1)*dt)’ •dv = 0.1 •vmax = 2.7 •vmin = 2.7 •decay = 1000 •sigma = 7 Parˆametros do c´alculo do fluxo 1D: •Altura = 18 •Largura = 14 •N˜ao excluir frames, testando a sequˆencia de frames [1,2,3,4,5] •Vmax=3.8 •Dv=0.1 ´ E de notar que neste teste os parˆametros Altura, Largura e vmax s˜ao os mesmos que ser˜ao utilizados no c´alculo do fluxo a 1D nas imagens originais, pois os testes com estes parˆametros serviram para aproximar o mais poss´ıvel uma situa¸c˜ao controlada da situa¸c˜ao real de an´alise. Neste caso a amplitude dos speckles n˜ao varia entre 0 e 1 mas entre 5000±300, antes de ser aplicada a convolu¸c˜ao. No c´odigo, para implementar o teste altera-se da seguinte forma: % ------------------------------------------------------------------------ Aspeckles(:,1) = 10000 + 300 * rand(Nspeckles,1); . . pilha(:,:,1) = repmat(template,1,Dim) + ruido*rand(Dim,Dim)* max(template); . . pilha(:,:,f) = pilha(:,:,f) + ruido*rand(Dim,Dim)*max(max(pilha(:,:,f))); % ------------------------------------------------------------------------
4.2. RESULTADOS NOS DADOS DE TESTE 55 Figura 4.20: Imagens de teste para o caso 3. Primeiro frame da pilha de teste utilizada (esquerda). Perfil da primeira coluna do primeiro frame da pilha utilizada. Comparando o perfil de intensidades das imagens artificiais com o perfil de intensidades da imagem de Drosophila S2 as semelhan¸cas s˜ao not´orias. Neste teste apenas aplic´amos o m´etodo 1, Correla¸c˜ao Generalizada utilizando o m´aximo, e o m´etodo 3, DAM utilizando o m´aximo. 1. Fun¸c˜ao de correla¸c˜ao generalizada; Janelas colapsadas com o m´aximo. Figura 4.21: Velocidades (px/s) e valores de τ-Kendall obtidos com o algoritmo da correla¸c˜ao generalizada adptada, colapsando as janelas com o m´aximo. Ru´ıdo = 0.2, σ= 5, Altura = 18.
62 CAP´ ITULO 4. RESULTADOS Figura 4.30: Fitting exponencial obtido para o caso de teste 1. Contudo, os resultados dependem totalmente da janela utilizada em cada frame. Na figura 4.31 temos dois exemplos de janelas admitidas em testes com as mesmas condi¸c˜oes deste. Os resultados obtidos com janelas como a da esquerda s˜ao muito menos exatos, podendo at´e dar resultados negativos, enquanto que os resultados com a janela da direita s˜ao sempre muito pr´oximos dos decaimentos reais induzidos Figura 4.31: Janelas de c´alculo de decaimento. A janela da esquerda tem de altura 18px e a da esquerda de altura 5px. Quanto mais restrita ao pico de um speckle forem as janelas a utilizar, melhor s˜ao os resultados, sem exce¸c˜ao. Tal ´e de esperar uma vez que ao precisar a zona da curva de um speckle que ser´a observada, h´a menos erros de incidˆencia na ´area pretendida do que se procurarmos abranger uma regi˜ao mais ampla. Como ´e f´acil de compreender, quanto mais uniformes forem as janelas selecionadas e mais precisa a localiza¸c˜ao de cada janela na regi˜ao em estudo, melhores os resultados. Com os testes efetuados sem ru´ıdo pud´emos tamb´em verificar, como era de esperar, que quanto
4.2. RESULTADOS NOS DADOS DE TESTE 63 mais baixo o decaimento mais exactos s˜ao os resultados obtidos. O gr´afico seguinte (Figura 4.32) ´e relativo a um teste efetuado com os mesmos parˆametros do teste actual mas com ru´ıdo de 50%, ou seja, amplitude de ru´ıdo ≈amplitude do sinal. Figura 4.32: Histogramas das regi˜oes selecionadas caso 1. Na primeira linha temos os frames analisados e os retˆangulos correspondentes `as janelas selecionadas em cada frame. Na segunda linha os histogramas dos retˆangulos selecionados no respetivo frame. Na terceira linha histogramas dos frames (toda a ´area) respetivos `a coluna. Podemos verificar pelos gr´aficos dos histogramas o decaimento das intensidades. Na segunda linha temos a intensidade das regi˜oes selecionadas enquanto que na terceira linha as intensidades dos frames na totalidade. Pelo histograma da janela selecionada no frame 10 verificamos que as intensidades nesta janela variaram aproximadamente entre 1.3 e 2. No frame 50 as intensidades na janela variaram aproximadamente entre 0.7 e 1.3. Nos histogramas da terceira linha da figura podemos observar que no frame 10 ainda h´a bastantes valores de intensidades mais altas. Ao longo dos frames, estes valores deixam de estar presentes para se acumularem mais `a esquerda nos histogramas, ou seja, h´a mais pontos com intensidades mais baixas. Caso 2: Os parˆametros utilizados para produzir a pilha de teste e os parˆametros do programa de c´alculo de decaimento foram os seguintes.
64 CAP´ ITULO 4. RESULTADOS Parˆametros do filme artificial: •Dim = 100 •Nframes = 100 •Nspeckles = 8 •ru´ıdo = 0.5 •dt = 1.0 •t = (0:dt:(Nframes-1)*dt)’ •dv = 0.1 •vmax=0.1 px/s •vmin=0.1 px/s •decay = 800 •sigma = 7 Parˆametros do Decaimento Manual SemiAutomatico: •Frames a utilizar = [1,10,15,20,25,30,40,50] •N´umero de regi˜oes = 1 Figura 4.33: Fitting exponencial obtido para caso de teste 2 com a fun¸c˜ao m´edia. Figura 4.34: Fitting exponencial obtido para caso de teste 2 com a fun¸c˜ao mediana.
4.3. RESULTADOS PARA OS DADOS ORIGINAIS 65 No caso da m´edia o decaimento encontrado foi de 718 s, enquanto que no caso da mediana foi de 832 s. Os resultados obtidos com a fun¸c˜ao mediana s˜ao, em geral, melhores do que os resultados obtidos com a fun¸c˜ao m´edia, como podemos verificar nas figuras 4.33 e 4.34. O efeito do ru´ıdo ´e percet´ıvel no gr´afico das figuras anteriores pelas barras de desvios-padr˜ao para cada m´edia ou mediana calculada. Quando o ru´ıdo ´e igual ou superior a 0.5 conv´em selecionar retˆangulos com uma largura consider´avel, pois quanto mais dados menor o impacto do ru´ıdo nas m´edias ou medianas calculadas das janelas. No caso das imagens originais, isto pode traduzir-se por utilizar mais do que um speckle para medir o decaimento na maioria dos speckles. Contudo, pode n˜ao ter bons resultados por os speckles terem intensidades diferentes. Para contornar este problema conv´em selecionar regi˜oes com intensidades semelhantes, ou seja, speckles com cores semelhantes nas imagens. 4.3 Resultados para os dados originais 4.3.1 Resultados do fluxo a 1D Os filmes mais adequados `a abordagem elaborada foram os filmes das c´elulas Drosophila S2.´ E nestes filmes que se observam mais nitidamente os microt´ubulos, que se constatou menor rota¸c˜ao e transla¸c˜ao do fuso mit´otico ao longo dos frames e nos quais h´a menos ru´ıdo. Os resultados seguintes foram obtidos para um filme de uma c´elula de Drosophila S2 considerado o melhor filme dispon´ıvel. Ser˜ao apresentados v´arios casos analisados. Em cada caso s˜ao indicados os parˆametros utilizados na aplica¸c˜ao da rotina CalcularFluxo.m. Os casos est˜ao ordenados por ordem crescente do primeiro frame das pilhas testadas. Os frames avaliados s˜ao os frames das pilhas de novas imagens, ou seja, as imagens que se obtˆem depois da marca¸c˜ao dos polos individualmente em cada filme. Nas situa¸c˜oes em que a sequˆencia de frames avaliada n˜ao consiste somente de frames consecutivos, os frames em falta n˜ao foram considerados. Os frames que foram exclu´ıdos foram-no por estarem deslocados na sequˆencia de frames de interesse. Alguns frames sofrem desfazamento em rela¸c˜ao ao anterior e/ou seguinte ap´os marca¸c˜ao dos polos, outros j´a apresentam desfazamento no filme original. Por exemplo, o frame 6 das novas imagens estava relativamente deslocado do centro da imagem em rela¸c˜ao aos frames 5 e 7; o frame 12 sofre rota¸c˜ao relativamente aos frames 11 e 10 e a marca¸c˜ao dos polos n˜ao foi eficaz para anular esta rota¸c˜ao. Em todos os casos a janela de trabalho (bloco de trabalho) utilizado teve dimens˜ao [18x14]px. Esta foi a dimens˜ao escolhida ap´os v´arias medi¸c˜oes de diˆametros de speckles e resultados em dados de teste. Tal como j´a foi referido na sec¸c˜ao de teste, no filme em quest˜ao, em m´edia os speckles tˆem dimens˜ao 10 a 20 px. Uma vez que na abordagem a uma dimens˜ao o deslocamento ´e avaliado na vertical, opt´amos por criar janelas com cerca do dobro da altura do speckle. Contudo, uma vez que a altura do bloco ´e inversamente proporcional `a ´area da imagem que pode ser avaliada, optou-se por n˜ao se considerar uma janela t˜ao alta. A largura considerada foi a referida, uma vez que aumentando a largura aumenta tamb´em o n´umero de dados a considerar em cada janela. Uma vez que ela ser´a colapsada ao longo das suas linhas, n˜ao ´e aconselh´avel considerar demasiadas colunas na janela, para n˜ao confundir informa¸c˜ao. Os mapas de velocidades produzidos foram filtrados de forma a que sejam visualizadas apenas regi˜oes de interesse. Estas s˜ao escolhidas atrav´es de filtragem das zonas do frame que tenham
66 CAP´ ITULO 4. RESULTADOS intensidade superior a um valor escolhido. Os mapas de velocidades e pesos produzidos nesta sec¸c˜ao s˜ao mapas obtidos ap´os a aplica¸c˜ao do mapa conformacional invertido aos resultados da velocidade e aos resultados de pesos. As velocidades s˜ao calculadas sobre as pilhas de imagens dos mapas conformacionais. De seguida aplica-se aos mapas resultantes a fun¸c˜ao de mapa conformacional linhas paralelas - elipse, o que permite visualizar as velocidades nos locais dos speckles. Ap´os estas transforma¸c˜ao aplica-se ent˜ao uma filtra¸c˜ao das regi˜oes que no primeiro frame da sequˆencia avaliada s˜ao regi˜oes escuras, e para as quais n˜ao h´a tanto interesse em visualizar as velocidades obtidas. Atrav´es dos mapas de velocidades e de pesos n˜ao ´e percet´ıvel se h´a alguma distin¸c˜ao concreta entre velocidades no hemisf´erio norte e sul. Contudo, com a visualiza¸c˜ao das velocidades apenas nas zonas de speckles, ´e poss´ıvel percecionar e quantificar uma simetria em rela¸c˜ao ao sinal das velocidades nos dois hemisf´erios. Em cada caso dos seguintes, para cada hemisf´erio foram calculadas m´edias ponderadas das velocidades, em que os pesos de cada valor foram os respectivos τ-Kendall. Caso 1: Parˆametros a utilizar no programa: •Sequˆencia = [3,4,5,7] •vmax = 3.8; •dv = 0.1 •Algoritmo: Fun¸c˜ao das diferen¸cas absolutas em rela¸c˜ao `a media, janela colapsada com o m´aximo. Figura 4.35: Speckles avaliados no caso 1. Frame 3 do filme analisado com a localiza¸c˜ao de alguns speckles.
4.3. RESULTADOS PARA OS DADOS ORIGINAIS 67 Figura 4.36: Mapa de velocidades (px/s) e mapa de τ-Kendal obtidos para o caso 1 nas regi˜oes onde a intensidade dos pixeis no frame 3 ´e superior a 500. Alguns valores de velocidade registados assinalados. Na figura 4.35 pode-se observar os speckles evidenciados atrav´es de manipula¸c˜ao do colormap utilizado. Foram identificados com a cˆor branca todos os pixeis com intensidades inferiores a 700. Para os pixeis evidenciados na imagem est˜ao evidenciadas tamb´em as velocidades calculadas. No mapa de velocidades da figura 4.36, todos os pixeis destacados no hemisf´erio superior tˆem valores negativos de velocidade. Em redor dos pixeis evidenciados tamb´em se verificam velocidades negativas. Os valores mais frequentes no hemisf´erio superior do mapa s˜ao o valor 0 e -0.2 px/s. Ospeckle associado ao ponto (62,88) ´e o que regista velocidades negativas mais acentuadas, e os valores de confian¸ca nesta regi˜ao n˜ao s˜ao muito baixos, pelo que se pode entender que houve um movimento mais brusco nesta regi˜ao. Quer o speckle do centro do fuso quer o destacado na posi¸c˜ao (76,170) apresentam velocidade nula e os valores de τ-Kendal nestas regi˜oes s˜ao elevados. De facto, as regi˜oes onde o fluxo registado ´e nulo s˜ao as regi˜oes de confian¸ca mais elevada. Ospeckle da posi¸c˜ao (26,130) deslocou-se para baixo a uma velocidade de 0.4px/s. Contudo, tamb´em no hemisf´erio superior a maioria das velocidades registadas foram 0 px/s. A velocidade m´edia registada no hemisf´erio superior foi −0.181px/s =−0.8145µm/min. No hemisf´erio inferior foi de 0.01px/s = 0.045µm/min. Em m´edia, as regi˜oes do hemisf´erio inferior do mapa da figura anterior mantiveram-se praticamente est´aticas.
68 CAP´ ITULO 4. RESULTADOS Caso 2: Parˆametros a utilizar no programa: •Sequˆencia = [7,8,9,10,11] •vmax = 3.8; •dv = 0.1 •Algoritmo: Fun¸c˜ao das diferen¸cas absolutas em rela¸c˜ao `a m´edia, janela colapsada com o m´aximo. Figura 4.37: Speckles avaliados no caso 2. Frame 7 do filme analisado com a localiza¸c˜ao de alguns speckles.
4.3. RESULTADOS PARA OS DADOS ORIGINAIS 69 Figura 4.38: Mapa de velocidades (px/s) e mapa de τ-Kendal obtidos para o caso 2 nas regi˜oes onde a intensidade dos pixeis no frame 7 ´e superior a 800. Alguns valores de velocidade registados assinalados. Mais uma vez, todas as velocidades dos speckles registadas no hemisf´erio superior s˜ao negativas. Na figura 4.37 a regi˜ao entre os pontos (39,55) e (50,40) assinalados ´e uma regi˜ao de intensidades muito altas. As velocidades registadas na figura 4.38 nestas regi˜oes s˜ao coerentes com as velocidades obtidas no caso anterior. Embora os valores de τ-Kendal nos picos dos speckles n˜ao sejam muito elevados, em redor dos picos dos speckles a confian¸ca ´e elevada e os valores de velocidade s˜ao negativos de -0.1px/s ou -0.2px/s. Para al´em desta zona, em v´arios pontos de velocidade negativas (-0.1px/s, -0.2px/s e -0.3px/s) do hemisf´erio superior, a confian¸ca ´e superior a 0.75. Ospeckle associado ao pixel (27,130) registou velocidades positivas no seu centro, embora alguns pixeis ligeiramente ao lado do centro tenham registado velocidades negativas. Tal n˜ao ´e raro nos mapas obtidos, embora em alguns casos seja mais not´orio. Podemos perceber pelo mapa que um pouco acima deste p´ıxel foram obtidas velocidades negativas. Ospeckle associado `a posi¸c˜ao (35,162) registou algumas velocidades negativas, embora o seu valor de τ-Kendall n˜ao seja muito elevado. A velocidade m´edia registada no hemisf´erio superior foi −0.2542px/s =−1.1439µm/min. No hemisf´erio inferior foi de 0.0347px/s = 0.1562µm/min. As regi˜oes superiores continuam, em m´odulo,a apresentar fluxo m´edio superior.
70 CAP´ ITULO 4. RESULTADOS Caso 3: Parˆametros a utilizar no programa: •Sequˆencia = [16,17,18,19,20,21] •vmax = 3.8; •dv = 0.1 •Algoritmo: Fun¸c˜ao das diferen¸cas absolutas em rela¸c˜ao `a m´edia, janela colapsada com o m´aximo. Uma vez que nas imagens rodadas e centradas nos fusos h´a bastantes oscila¸c˜oes entre o frame 11 e o frame 15, a sequˆencia testada de seguida come¸ca no frame 16. Figura 4.39: Speckles avaliados no caso 2. Frame 16 do filme assinalado com a localiza¸c˜ao de alguns speckles. Para produzir a imagem da figura 4.39 coloriu-se de branco as regi˜oes de intensidade sensivelmente inferior a 500. Note-se que as imagens s˜ao produzidas com o comando imagesc() do Matlab, e os colormaps atribuidos s˜ao diferentes nos casos aqui estudados, pelo que as cores no mapa da figura acima n˜ao podem ser comparadas com as cores do mapa da figura 4.37.
4.3. RESULTADOS PARA OS DADOS ORIGINAIS 71 Figura 4.40: Mapa de velocidades (px/s) e mapa de τ-Kendal obtidos para o caso 2 nas regi˜oes onde a intensidade dos pixeis no frame 16 ´e superior a 500. Alguns valores de velocidade registados assinalados. Nos mapas de velocidades registados na figura 4.40 obtiveram-se valores absolutos superiores aos dos casos anteriores. Novamente no hemisf´erio superior verificaram-se maioritariamente valores negativos. Desta vez os valores mais frequentes est˜ao entre -0.2 e -0.5 px/s. Neste mapa o speckle localizado mais acima na figura 4.39 j´a n˜ao ´e totalmente abrangido, pois movimentou-se para cima ao longo dos frames. Na regi˜ao ainda abrangida deste speckle registou-se velocidade -0.2 px/s. Os valores de τ-Kendall para o pico deste speckle s˜ao novamente n˜ao muito elevados. Mas tamb´em se verifica que na regi˜ao `a esquerda do speckle, onde a intensidade original n˜ao ´e t˜ao alta, as velocidades obtidas s˜ao idˆenticas e os valores de confian¸ca muito razo´aveis (cerca de 0.8). No hemisf´erio superior `a esquerda, na regi˜ao pr´oxima do pixel (25,85), as velocidades calculadas s˜ao positivas. Contudo, pela figura 4.39 podemos visualizar que esta regi˜ao ´e de uma zona mais escura, e possivelmente n˜ao tem tanta significˆancia. Ospeckle central voltou a acusar velocidades negativas, -0.3px/s, embora com valores de confian¸ca n˜ao muito significativos. ´ E de real¸car que no hemisf´erio inferior as velocidades est˜ao predominantemente entre 0.1 e 0.5 px/s, e nas zonas onde estas ocorrem h´a valores de confian¸ca elevados. Agora a regi˜ao do speckle de (28,138) apresenta maioritariamente velocidade 0.5 com bons valores de τ-Kendall. Um dos valores de valor de Kendall mais elevado ´e o do pixel (52,145), onde a velocidade obtida foi 0.5px/s e o valor de τfoi 0.946. Em m´edia, a velocidade registada no hemisf´erio superior foi −0.2440px/s =−1.098µm/min. No hemisf´erio inferior foi de 0.1347px/s = 0.16µm/min. As regi˜oes superiores continuam, em m´edia,a apresentar fluxo superior.
78 CAP´ ITULO 4. RESULTADOS Figura 4.49: Fit exponencial para o speckle do hemisf´erio superior em frames posteriores a 30. O valor do decaimento encontrado foi, aproximadamente, 307.5s, e o coeficiente de determina¸c˜ao m´edio desta regress˜ao foi 0.86343. Este resultado indica que a partir do 30oframe o decaimento ´e menos acentuado, o que ´e natural, uma vez que a tubulina vai perdendo a sua fluorescˆencia nos primeiros segundos do filme. Speckle do hemisf´erio inferior do fuso: S˜ao agora apresentados os resultados da an´alise do speckle identificado na figura 4.50. Figura 4.50: Speckle do hemisf´erio inferior avaliado no teste de decaimento.
4.3. RESULTADOS PARA OS DADOS ORIGINAIS 79 Figura 4.51: Fit exponencial para o speckle do hemisf´erio inferior. Na figura 4.51 podemos visualizar o fitt exponencial obtido para este speckle entre os frames 3 e 70. O valor do decaimento obtido foi 249.3se o coeficiente de determina¸c˜ao da regress˜ao foi 0.73029. A fun¸c˜ao de intensidade da regi˜ao ´e I(t) = 1650.0939 exp −1 249.331t. Speckle do equador do fuso: ´ E apresentado de seguida o resultado da avalia¸c˜ao do decaimento num speckle do equador do fuso, representado na figura 4.52. Figura 4.52: Speckle situado no equador do fuso avaliado no teste de decaimento.
80 CAP´ ITULO 4. RESULTADOS Figura 4.53: Fit exponencial para o speckle do hemisf´erio inferior. Na figura 4.53 podemos encontrar a curva de regress˜ao encontrada para o speckle actual. O valor do decaimento encontrado nesta an´alise foi de 215.3se o coeficiente de determina¸c˜ao da regress˜ao foi 0.95171. A fun¸c˜ao de intensidade do speckle em fun¸c˜ao do tempo encontrada para os primeiros 25 frames, ´e I(t) = 1833.6713 exp −1 215.3156t. Neste speckle, tal como no anterior, o decaimento encontrado foi menos acentuado do que o decaimento encontrado nos outros dois speckles para o mesmo intervalo de frames. Zona escura: ´ E apresentado de seguida o resultado da avalia¸c˜ao do decaimento numa regi˜ao escura, representado na figura 4.54. Figura 4.54: Regi˜ao escura do filme das c´elulas Drosophila S2.
4.3. RESULTADOS PARA OS DADOS ORIGINAIS 81 Figura 4.55: Fit exponencial para a regi˜ao escura. Como seria de esperar, as intensidades nesta zona dos frames decaem muito mais lentamente. O valor de decaimento encontrado para estes valores foi 1218.1s, e o coeficiente de determina¸c˜ao foi 0.47425, o que n˜ao ´e muito bom. A fun¸c˜ao de decaimento ´e 250.1559 exp −1 1218.0654.
82 CAP´ ITULO 4. RESULTADOS
Cap´ıtulo 5 Conclus˜oes Os objetivos propostos de constru¸c˜ao de algoritmos fi´aveis de estima¸c˜ao do fluxo nos microt´ubulos e de decaimento da intensidade das imagens durante a metafase em c´elulas visualizadas com a t´ecnica Induced Speckle Imaging foram atingidos. Para utilizar o programa de c´alculo do fluxo ´e necess´ario estabelecer as invariˆancias de rota¸c˜ao e transla¸c˜ao nos frames dos filmes. Estas s˜ao as principais condicionantes do desempenho do algoritmo. Sem uma boa marca¸c˜ao de pontos de estabilidade, o m´etodo n˜ao pode ser aplicado. Os resultados obtidos para o c´alculo do fluxo basearam-se na hip´otese de forma super-elipsoidal do fuso mit´otico em metafase, o que se revelou bastante ajustado. A ferramenta MarcarPolos.m criada permite eliminar significativamente as varia¸c˜oes de rota¸c˜ao e transla¸c˜ao das imagens dos fusos. Foi adotada uma abordagem original de c´alculo do fluxo baseada na estrat´egia de Block Matching. O algoritmo criado diferencia-se da estrat´egia de Block Matching na medida em que permite contabilizar toda a informa¸c˜ao de sequˆencias de frames na estima¸c˜ao do fluxo de intensidades ao longo do tempo. A fun¸c˜ao DAM revelou ser um operador de dete¸c˜ao espacial mais robusto, exato e preciso do que a correla¸c˜ao generalizada na grande maioria das situa¸c˜oes controladas. Os algoritmos criados para quantifica¸c˜ao de fluxo e o algoritmo para quantifica¸c˜ao de decaimento tˆem um desempenho bastante bom em situa¸c˜oes de teste controladas. O algoritmo do decaimento ´e eficaz na dete¸c˜ao de decaimento para filmes com amplitude de ru´ıdo de 50%, e o algoritmo de c´alculo do fluxo ´e eficaz na dete¸c˜ao de fluxo, mesmo em dados com amplitude de ru´ıdo superiores `a amplitude de sinal. Os resultados obtidos para o fluxo no filme das c´elulas Drosophila S2 indicam fluxo, em m´edia, 0.2px/s = 0.9µm/min, no hemisf´erio superior do fuso, e 0.13px/s = 0.59µm/min no hemisf´erio inferior. Foram avaliadas v´arias sequˆencias de frames distintas e as velocidades encontradas foram muito pr´oximas destes valores para essas sequˆencias. Estes valores est˜ao concordantes com os valores estimados previamente, com m´etodos desenvolvidos anteriormente pela equipa de parceria. Uma grande parte dos valores obtidos de velocidade foi nulo, o que ´e um bom indicador do estabelecimento de invariˆancias eficaz. Contudo, pretendia-se diferenciar o fluxo nas regi˜oes mais pr´oximas do equador do fuso do fluxo das regi˜oes mais pr´oximas dos polos. Isto ´e poss´ıvel utilizando estat´ısticas das velocidades de v´arios speckles em regi˜oes hom´ologas do fuso mit´otico, se poss´ıvel em v´arios filmes. Os valores de decaimento encontrados resultam da a¸c˜ao combinada do mecanismo de turnover e da perda de fluorescˆencia. No filme das c´elulas Drosopohila S2, avaliou-se o decaimento em trˆes regi˜oes distintas. O decaimento encontrado para um speckle da parte superior do fuso, nos primeiros 25 frames, foi 83
84 CAP´ ITULO 5. CONCLUS ˜ OES de aproximadamente, 160s. Nos outros dois speckles onde se avaliou decaimento, nos primeiros 60 frames, o decaimento m´edio foi de 240s. Os resultados foram obtidos com coeficientes de determina¸c˜ao m´edio das regress˜oes encontradas (>0.7).
Cap´ıtulo 6 Trabalho Futuro Devido `a grande influˆencia que a elimina¸c˜ao de invariˆancias tem sobre o sucesso do m´etodo de c´alculo do fluxo, todas as medidas no sentido de eliminar invariˆancias dos filmes s˜ao relevantes para a precis˜ao e exatid˜ao dos resultados. De forma a obter uma dependˆencia espacial dos fluxos, uma poss´ıvel an´alise seria fazer estat´ısticas das velocidades de v´arios speckles em regi˜oes hom´ologas do fuso mit´otico. O m´etodo do c´alculo de decaimento pode ser aprofundado no sentido de produzir estimativas para o mecanismo de turnover. Por exemplo, seria interessante comparar valores de decaimento nos filmes em zonas escuras com decaimentos em zonas de speckles, para obter estimativas do turnover. 85
86 CAP´ ITULO 6. TRABALHO FUTURO
Referˆencias Bradski, G. and Kaehler, A. (2008). Learning Open CV. O’Reilly Media, Inc. Civelekoglu-Scholey, G. and Scholey, J. (2010). Mitotic force generators and chromosome segregation. Cellular and Molecular Life Sciences, 67:2231–2250. 10.1007/s00018-010-0326-6. Fredricks, G. A. and Nelsen, R. B. (2007). On the relationship between spearman’s rho and kendall’s tau for pairs of continuous random variables. Journal of Statistical Planning and Inference, 137(7):2143 – 2150. Gibbons, J. D. (1993). Non parametric measures of association. 07-091. Sarge University Paper series on Quantitative Applications in the Social Sciences, Newbury Park, CA: Sage. MATLAB (2010). version 7.10.0 (r2010a). Matos, I., Pereira, A. J., Lince-Faria, M., Cameron, L. A., Salmon, E. D., and Maiato, H. (2009). Synchronizing chromosome segregation by flux-dependent force equalization at kinetochores. The Journal of Cell Biology, 186(1):11–26. Miyamoto, D. T., Perlman, Z. E., Burbank, K. S., Groen, A. C., and Mitchison, T. J. (2004). The kinesin eg5 drives poleward microtubule flux in xenopus laevis egg extract spindles. The Journal of Cell Biology, 167(5):813–818. Pereira, A. (2011). Biophysical analysis of the metaphase mitotic spindle. PhD thesis, Faculdade de Ciˆencias da Universidade do Porto. Pereira, A. J. and Maiato, H. (2010). Improved kymography tools and its applications to mitosis. Methods, 51(2):214 – 219. Rieder, C. (2006). Mitosis. In Cells, textbook 10, pages 438–487. Jones and Bartlett. Yang, G., Cameron, L. A., Maddox, P. S., Salmon, E. D., and Danuser, G. (2008). Regional variation of microtubule flux reveals microtubule organization in the metaphase meiotic spindle. The Journal of Cell Biology, 182(4):631–639. 87
vi APˆ ENDICE A. mais tempo o algoritmo leva a correr. Contudo, quanto mais amplo o valor de v mais resolu¸c˜ao tem o mapa de velocidades e mais significˆancia ter´a a fun¸c˜ao de confian¸ca deste mapa. Ao especificar estes valores devemos ter em conta estas implica¸c˜oes. % ------------------------------------------------------------------------- vmax=-1;dv=-1; while vmax<=0 display(’Qual o valor de vmax e de dv que quer utilizar?’) vmax = input(’vmax :’); end while dv<0; dv = input(’dv : ’); end display(’ ’) % ------------------------------------------------------------------------ 9. Selecionar a fun¸c˜ao a utilizar para calcular os deslocamentos Escolhemos agora a fun¸c˜ao a utilizar para aplicar o algoritmo de estrat´egia semelhante `a do BlockMatching. A cada pixel nas entradas (n,m) do primeiro frame de cada sequˆencia, vamos atribuir um deslocamento tendo em conta as poss´ıveis “posi¸c˜oes do pixel” nos frames seguintes (figura 2.9). As fun¸c˜oes de BlockMatching est˜ao implementadas nas sub-rotinas CalcFluxo NFrames 1D.m e CalcFluxo NFrames 2D.m. As op¸c˜oes de fun¸c˜oes surgem no visor e s˜ao as seguintes: 1. Fun¸c˜ao de correla¸c˜ao generalizada adaptada; Janelas colapsadas com o m´aximo 2. Fun¸c˜ao de correla¸c˜ao generalizada adaptada; Janelas colapsadas com a mediana 3. Fun¸c˜ao de diferen¸cas absolutas; Janelas colapsadas com o m´aximo 4. Fun¸c˜ao de diferen¸cas absolutas; Janelas colapsadas com a mediana 5. Fun¸c˜ao de correla¸c˜ao generalizada adaptada 2D 6. Fun¸c˜ao de diferen¸cas absolutas 2D Ao selecionarmos uma das primeiras 4 op¸c˜oes, estamos a indicar a utiliza¸c˜ao da rotina CalcFluxo NFrames 1D.m, e se indicarmos as respostas 5 ou 6, aplicar-se-´a a rotina CalcFluxo NFrames 2D.m. A vari´avel correspondente `a fun¸c˜ao de BlockMatching ´e a vari´avel Algoritmo, que pode significar aplicar fun¸c˜ao de Correla¸c˜ao ou fun¸c˜ao de DAM. Se dermos como resposta 1,2 ou 5, a vari´avel Algoritmo assume o valor 1, o que significa aplica¸c˜ao da correla¸c˜ao generalizada. Se dermos a resposta 2,3 ou 4, Algoritmo = 2, correspondendo `a fun¸c˜ao de DAM. A vari´avel que indica a fun¸c˜ao utilizada para colapsar as janelas selecionadas ´e a vari´avel Funcao. Se for dada a resposta 1 ou 3 as janelas s˜ao colapsadas com o m´aximo, se for dada resposta 2 ou 4 utiliza-se a mediana para as colapsar. % ------------------------------------------------------------------------- escolha=-1; while (escolha==1 || escolha==2 || escolha==3 || escolha==4 || escolha==5... || escolha==6)==0 display(’ ’)
vii display(’Escolha a funcao que quer utilizar para calcular’) display(’os deslocamentos dos pixeis entre frames:’) display(’ ’) display(’Correlacao colapsando janelas com o maximo: 1’) display(’Correlacao colapsando janelas com a mediana: 2’) display(’Funcao de DAM colapsando janelas com o maximo: 3’) display(’Funcao de DAM colapsando janelas com a mediana: 4’) display(’Funcao de correlacao 2D: 5’) display(’Funcao de DAM 2D: 6’) escolha = input(’Funcao: ’); end switch escolha case 1 titulo = ’Correlacao / Janelas colapsadas com Maximo’; case 2 titulo = ’Correlacao / Janelas colapsadas com Mediana’; case 3 titulo = ’Funcao DAM / Janelas colapsadas com Maximo’; case 4 titulo = ’Funcao DAM / Janelas colapsadas com Mediana’; case 5 titulo = ’Funcao DAM / Janelas colapsadas com Mediana’; case 6 titulo = ’Funcao DAM / Janelas colapsadas com Mediana’; end % Funcao = 0 (mediana) Algortimo = 1 (correlacao) % Funcao = 1 (max) Algoritmo = 2 (DAM) Funcao=0;Algoritmo=1; if (escolha==1 || escolha==3)==1 Funcao=1; end if (escolha==3 || escolha==4 || escolha==6)==1 Algoritmo=2; end % ------------------------------------------------------------------------ 10. Ciclo que corre todas as sequˆencias de frames indicadas em 7 A matriz M vel ´e a matriz onde ser´a guardada a informa¸c˜ao das velocidades para cada pixel em cada sequˆencia analisada, enquanto que a matriz M pesos ´e uma matriz dos valores de τ-Kedal para os respetivos pixeis e sequˆencias avaliados. Para cada sequˆencia analisada ´e devolvido apenas um valor m´edio de decaimento e n˜ao valores discriminados para cada pixel, como acontece com os valores de fluxo calculados. % ------------------------------------------------------------------------- frame = ConfMap_pilha(:,:,1); M_vel = nan * ones(size(frame,1),size(frame,2),size(ParesDeFrames,1),2); M_pesos = nan * ones(size(frame,1),size(frame,2),size(ParesDeFrames,1),1); % ------------------------------------------------------------------------ O ciclo percorre cada sequˆencia de frames a analizar determinada em 7. As vari´aveis f1 e f2 indicam as duas entradas dos conjunto de frames inicial que fazem a sequˆencia de frames a analisar.
viii APˆ ENDICE A. Figura A.3: Exemplo de como se obtˆem as vari´aveis f1 e f2 A vari´avel t0 ´e o tempo de registo do frame correspondente f1, enquanto que a vari´avel t1 ´e o tempo de registo do frame correspondente a f2. A diferen¸ca de ambos ´e o intervalo de tempo entre os dois frames. O valor dpos =|[vmax(t1−t0)]|indica-nos o deslocamento absoluto entre os frames f1 e f2 caso haja movimento `a velocidade m´axima admitida. Este parˆametro ser´a utilizado no c´alculo do movimento de um pixel ao longo dos frames. Uma vez que para calcular o movimento do pixel consideramos uma janela em volta dele e supomos que esta se movimenta a determinada velocidade v, h´a um conjunto de pixeis ainda mais reduzido que pode ser avaliado para todas as velocidades para al´em daqueles em que a janela cabe no primeiro frame. As janelas tˆem tamb´em de ”caber”totalmente dentro dos restantes frames quando estamos a avaliar as velocidades. Ou seja, para al´em dos pixeis descartados automaticamente para as janelas no primeiro frame estarem totalmente dentro deste, h´a tamb´em a condi¸c˜ao de que as janelas tˆem de caber na totalidade em todos os frames seguintes admitindo o deslocamento que elas efetuam para as velocidades a testar. Figura A.4: Ilustra¸c˜ao de regi˜oes de uma imagem limitadas pela velocidade m´axima onde ´e poss´ıvel calcular fluxo. A verde regi˜ao limitada pela dimens˜ao das janelas e a amarelo regi˜ao limitada pela velocidade m´axima e n´umero de frames a utilizar.
ix Dadas as caracter´ısticas da an´alise de cada janela ´e poss´ıvel distribuir os processos por v´arios processadores, permitindo que o algoritmo corra em paralelo, acelerando assim a an´alise. No Matlab, comando matlabpool permite a funcionalidade completa de recursos em simultˆaneo, utilizando computa¸c˜ao paralela. O comando ´e indicado fora do ciclo para iniciar a divis˜ao das tarefas, e as tarefas que correram em paralelo ser˜ao as do cilo 12. % ------------------------------------------------------------------------- matlabpool tic for i=1:size(ParesDeFrames,1); f1 = ParesDeFrames(i,1)-Prim_Frame+1; f2 = ParesDeFrames(i,2)-Prim_Frame+1; % Deslocamentos supondo a velocidade maxima: t0 = Eixo_temporal_pares(i,1); t1 = Eixo_temporal_pares(i,2); d_pos = abs( round( vmax * (t1 - t0) ) ); % Para vermos em que sequencia vai enquanto o programa corre: display(’ ’) display([’Calculo das velocidades medias do frame ’,... num2str(ParesDeFrames(i,1)), ’ para o frame ’,num2str(ParesDeFrames(i,2))]) % ------------------------------------------------------------------------ 11. e 12. Ciclo que percorre os pixeis do primeiro frame da sequˆencia para determinar a velocidade A vari´avel n indica a linha percorrida e vari´avel m a coluna. As linhas e as colunas percorridas s˜ao limitadas pela dimens˜ao da janela admitida (figura A.1 ), por isso tˆem-se as condi¸c˜oes (*A) e (*B). H´a dois ciclos diferentes, um para o caso de estarmos a medir o fluxo a 2D, outra para a medi¸c˜ao a 1D. As condi¸c˜oes (*C1) e (*C2) dizem respeito ao n´umero de linhas e de colunas que ´e necess´ario de margem para ser poss´ıvel admitir janelas completas at´e ao ´ultimo frame da sequˆencia (figura A.4), como explicado em 10. A condi¸c˜ao (*C1) ´e do ciclo que efetua a medi¸c˜ao a 2D, e por isso esta condi¸c˜ao sobre as linhas e colunas tem em conta as velocidades m´aximas admitidas quer para o deslocamento horizontal quer para o deslocamento vertical dos blocos de trabalho. % ------------------------------------------------------------------------- % Ciclo que vai correr todos os pixeis: (*A) for n = 1+L2:size(frame,1)-L2 % Linhas display([’Linha das imagens a ser processada : ’,num2str(n)]) display([’ Total : ’,num2str(size(frame,1))]); if (escolha==5 || escolha==6)==1 (*B) parfor m = 1+K2:size(frame,2)-K2 % Colunas (*C1) if (n-d_pos-L2 < 1 || n+d_pos+L2 > size(frame,1) || ... m-d_pos-K2 <1 || m+d_pos+K2 > size(frame,2) )==0
xAPˆ ENDICE A. [fluxo, S] = CalcFluxo_NFrames_2D( Algoritmo,[n,m], ... ConfMap_pilha, [L2,K2], [f1,f2], ParesDeFrames(i,:),... frames_nao_usar, EixoTemporal, vmax, dv ); M_vel(n,m,i,:) = fluxo; M_pesos(n,m,i) = S; end end else (*B) parfor m = 1+K2:size(frame,2)-K2 % Colunas (*C2) if (n-d_pos-L2 < 1 || n+d_pos+L2 > size(frame,1))==0 [fluxo, S] = CalcFluxo_NFrames_1D( Funcao,Algoritmo,... [n,m], ConfMap_pilha, [L2,K2], [f1,f2], ParesDeFrames(i,:),... frames_nao_usar, EixoTemporal, vmax, dv ); M_vel(n,m,i,1) = fluxo; M_pesos(n,m,i) = S; end end end end % ------------------------------------------------------------------------
Apˆendice B Descri¸c˜ao detalhada do c´odigo Matlab DecaimentoSemiAutomatico.m 1. Leitura de frames e eixo temporal: Atrav´es do programa LeituraFramesPolosMiusTempo.m, escolhe-se o filme para o qual se vai determinar decaimento e o ficheiro temporal respetivo. De seguida pode-se visualizar o filme que foi escolhido para selecionar a sequˆencia de frames que se quer analizar. Para indicar a sequˆencia basta indicar o primeiro frame da sequˆencia, Prim Frame, e o ´ultimo, Ultimo Frame. Depois de correr esta fun¸c˜ao, gera-se o vector com o ´ındice dos frames que v˜ao ser analisados. Por exemplo, caso o primeiro frame seja o 2oframe do filme, e o ´ultimo frame seja o 50oframe, Frames = [2,3,4,5,...,50]. % ------------------------------------------------------------------------ [Prim_Frame Ultimo_frame , file , ~, ~, EixoTemporal ,EixoTempos_Frames] = LeituraFramesPolosMiusTempos( 1, 0, 1); Frames = Prim_Frame:Ultimo_frame; % ------------------------------------------------------------------------ 2. Sele¸c˜ao da sequˆencia de frames a analisar: De seguida tem-se a op¸c˜ao de excluir frames da sequˆencia de frames indicada, Frames, que se considerem n˜ao estar nas melhores condi¸c˜oes. O programa produz uma pergunta, “Quer excluir frames dentro da sequencia ?” `a qual respondemos “n˜ao”(0) ou “sim”(1). Caso tenhamos respondido “sim” introduzimos um vector com os frames que pretendemos utilizar exclusivamente. Por exemplo, para utilizarmos apenas os frames 2,20,30 e 50 indicar´ıamos [2,20,30,50]. Note-se que n˜ao se devem indicar frames que n˜ao constem da lista de frames Frames gerada anteriormente. % ------------------------------------------------------------------------ exclusao = -1; display(’ ’) while (exclusao ==1 || exclusao ==0)==0 display(’Quer excluir frames dentro da sequencia ’); exclusao = input(’que seleccionou? [0=nao, 1=sim]:’); end if exclusao ==1 Frames = input(’Quais os frames que quer utilizar? :’); end % ------------------------------------------------------------------------ xi
xii APˆ ENDICE B. •Cria¸c˜ao da pilha de imagens a utilizar: ´ E criada de seguida uma pilha de imagens, a matriz pilha, que cont´em nela as matrizes das imagens, de Prim Frame a Ultimo frame. Esta pilha inclui tamb´em as imagens que exclu´ımos no passo anterior. A vari´avel frames consiste dos ´ındices de pilha que realmente pretendemos utilizar. No exemplo anterior, pilha ´e uma matriz de dimens˜ao (Nlinhas x NColunas x 6) (frames do 2oao 7o) e frames = [1,3,5,6], que ´e o vector de ´ındices da pilha que efectivamente queremos utilizar. % ------------------------------------------------------------------------ pilha=zeros(size(file(1).data,1),size(file(1).data,2),size(Frames,2)); for i=1:size(Frames,2) pilha(:,:,i)=file(Frames(i)).data; end frames=Frames-Prim_Frame+1; f1 = frames(1); pilha_pequena= pilha; tf=EixoTemporal; % ------------------------------------------------------------------------ •Indicar o n´umero de regi˜oes a utilizar: Na sec¸c˜ao seguinte determina-se o n´umero de regi˜oes nas quais queremos calcular fluxo, e este ´e registado na vari´avel Nregioes. Por exemplo, se tivermos inten¸c˜ao de avaliar o decaimento em 3 pontos espec´ıficos, por exemplo 3 speckles, Nregioes = 3. A matriz Decaimentos ir´a conter os decays obtidos para cada regi˜ao acompanhada, e a matriz pesos conter´a o coeficiente de ajustamento obtido para o decaimento calculado em cada regi˜ao. Durante o ciclo que ir´a ser processado posteriormente no c´odigo, ir˜ao ser produzidos histogramas das intensidades em cada uma das regi˜oes selecionadas e tamb´em de toda a imagem original. A vari´avel di ´e o tamanho dos intervalos de intensidades que iremos contabilizar nos histogramas, e estes s˜ao uniformizados para todos os histogramas produzidos. O parˆametro xx ´e a gama de intensidades avaliadas, que varia desde a intensidade m´ınima `a intensidade m´axima do primeiro frame, a intervalos de di. % ------------------------------------------------------------------------ display(’ ’) display(’Para o calculo do decaimento utilizando os mapas anteriores, ’) Nregioes = input(’quantas regioes quer marcar em cada frame? :’ ); Decaimentos = zeros(1,Nregioes); pesos = zeros(1,Nregioes); di = ( max(max(pilha(:,:,1))) - min(min(pilha(:,:,1))) )/10000; xx = min(min(pilha(:,:,1))):di: max(max(pilha(:,:,1))); % ------------------------------------------------------------------------ •Escolha de uma fun¸c˜ao para colapsar as regi˜oes selecionadas As janelas a selecionar ser˜ao colapsadas com a m´edia ou a mediana. % ------------------------------------------------------------------------- escolha=-1; while (escolha==0 || escolha==1)==0 display(’Escolha uma funcao para colapsar ao longo das linhas ’) display(’as janelas das imagens originais.’)
xiii display(’Media (Resposta=0) ou Mediana (Resposta=1) ’) escolha=input(’Resposta :’); end switch escolha case 0 FuncaoColapsar = @median; case 1 FuncaoColapsar = @max; end % ------------------------------------------------------------------------- •Ciclo que ir´a percorrer as Nregioes Vamos selecionar em todos os frames as Nregioes. O ciclo percorre cada regi˜ao individualmente. Ou seja, supondo que Nregioes = 3, vamos come¸car por analisar uma dessas regi˜oes, em todos os frames. Ou seja, primeiro vamos selecionar em todos os frames uma janela em volta da primeira regi˜ao de interesse. Na matriz Medias Std Regioes vamos registar os valores m´edios e os desvios padr˜oes das janelas selecionadas em cada frame. A matriz pilha 1 ´e apenas uma matriz de referˆencia que ir´a ser usada para visualizarmos em cada frame a janela selecionada. % ------------------------------------------------------------------------- % Ciclo que ir´a percorrer as regioes seleccionadas: for r = 1:Nregioes Medias_Std_Regioes = zeros( size(frames,2),2 ); pilha_1 = pilha; figure(112+r) . . . % ------------------------------------------------------------------------- •Marca¸c˜ao da janela onde medir o turnover De seguida entramos no ciclo que ir´a percorrer todos os frames selecionados (for f=1:size(frames,2)). Em cada um (para cada f) vamos visualizar o frame respetivo e marcar a janela pretendida com o rato. O comando para esta sele¸c˜ao s˜ao os comandos h = imrect; regiao = wait(h).
xiv APˆ ENDICE B. Figura B.1: Imagem Matlab do programa DecaimentoSemiAutomatico.m, sele¸c˜ao da primeira regi˜ao para todos os frames No exemplo seguido, visualizamos as 4 imagens da figura B.1. Ap´os selecionar a primeira regi˜ao no primeiro frame, neste caso o frame 2, n˜ao selecionamos imediatamente as regi˜oes seguintes, apenas na itera¸c˜ao seguinte deste ciclo for. A regi˜ao selecionada ´e exportada depois de se selecionar a regi˜ao. A matriz linhas regi˜ao tem a dimens˜ao da regi˜ao selecionada, e em cada posi¸c˜ao (i,j) tem o ´ındice da i-´esima linha selecionada na imagem. Na ilustra¸c˜ao seguinte a regi˜ao selecionada ´e a regi˜ao verde, e a matriz linhas regi˜ao ´e a matriz a verde. Figura B.2: Ilustra¸c˜ao da matriz linhas regi˜ao do c´odigo DecaimentoSemiAutomatico.m Seleciona-se ent˜ao na matriz do frame f o retˆangulo da matriz linhas regi˜ao, e colapsam-se as suas entradas com a fun¸c˜ao escolhida, FuncaoColapsar. A m´edia e o desvio padr˜ao desta janela s˜ao registados na matriz Medias Std Regioes, na f-´esima linha. % ------------------------------------------------------------------------- for f = 1:size(frames,2) figure(’Name’, ’Selecione as zonas onde quer medir decaimento’) imagesc(pilha(:,:,f)); title([’Frame ’,num2str(frames(f)+Prim_Frame-1)]); suptitle([’Seleccione a ’,num2str(r),’a zona quer medir decaimento no frame ’,num2str(frames(f)+Prim_Frame-1)]); h = imrect; regiao = wait(h);
xv regiao = round(regiao); linhas_regiao = (regiao(2):(regiao(2)+regiao(4)))’; linhas_regiao = repmat(linhas_regiao,... size( regiao(1):(regiao(1)+regiao(3)))); Intensidades_regiao = pilha( linhas_regiao,... regiao(1):(regiao(1)+regiao(3)),f); % vamos registar a media de intensidades na regiao, o desv padrao, % para todos os frames f media = FuncaoColapsar(FuncaoColapsar(Intensidades_regiao)); dev_pad = std(Intensidades_regiao(1:end)); Medias_Std_Regioes(f,:)=[media,dev_pad]; % ------------------------------------------------------------------------- •Representa¸c˜oes das regi˜oes selecionadas, dos histogramas respetivos e do histograma do fuso f De seguida ´e apresentada uma imagem de 3 linhas de subplots e n´umero de colunas igual ao n´umero de frames a analisar. Na primeira linha s˜ao representados os frames com as regi˜oes selecionadas nesses frames na itera¸c˜ao r (pilha 1), na segunda os histogramas das respetivas regi˜oes selecionadas, e na terceira linha os histogramas do frame da respetiva coluna na totalidade. Atrav´es dos comandos hold on e hold off, ´e poss´ıvel representar todos os frames e gr´aficos numa ´unica figura, a figura (112+r). Figura B.3: Regi˜oes selecionadas e histogramas respetivos % ------------------------------------------------------------------------- % representacao das regioes selecionadas nos frames figure(112+r),subplot(3,size(frames,2),f); pilha_1( linhas_regiao(1), regiao(1):(regiao(1)+regiao(3)), f ) = 0; pilha_1( linhas_regiao(end), regiao(1):(regiao(1)+regiao(3)), f ) = 0; pilha_1( linhas_regiao, regiao(1) , f ) = 0; pilha_1( linhas_regiao, regiao(1)+regiao(3) , f ) = 0; imagesc(pilha_1(:,:,f)); title([’Regiao marcada no frame ’,...