terça-feira, 30 de julho de 2024

Labplot – o exemplo que o SciDAVis deveria ter seguido (EN: Labplot – the example SciDAVis should have followed)

Olá a todos!

Este post é, ao mesmo tempo, uma mistura de orgulho e decepção.

Orgulho pelo lado do LabPlot (breve descrição em português aqui em https://kde.org/pt-br/for/scientists/), que tem evoluído de forma espetacular nos últimos anos. Decepção pelo lado do SciDAVis, que está mais parado do que nunca.

Esses dias, precisei importar um arquivo do Origin®, que foi enviado a mim por uma colaboradora. Normalmente eu usaria o SciDAVis para importar o arquivo. Porém, me deu um "estalo", e resolvi usar o LabPlot para a tarefa. Então, iniciei o programa, fui em Arquivo → Importar dados→Projeto do Origin. Logo em seguida, abriu um diálogo onde eu pude navegar para encontrar o arquivo .opj que eu queria trabalhar. Logo que selecionei o arquivo, já apareceram as opções para eu escolher os objetos que gostaria de importar, como pode ser visto na figura abaixo.

Eu acabei importando tudo, pois não sabia o exato conteúdo do arquivo (depois, testei e vi que basta clicar nos objetos que desejar, pressionando a tecla Ctrl, para importar apenas o necessário). De um modo geral, tudo funcionou muito bem. Inclusive, os gráficos mantiveram o mesmo layout que costumam ter no Origin®. Apenas as legendas nos gráficos não foram diretamente associadas às respectivas curvas.

Apesar do sucesso em importar o arquivo do Origin®, não foi isto que me chamou a atenção. Mas sim o fato de ao clicar em uma curva num gráfico, esta ser selecionada, juntamente com a planilha associada a ela, como pode ser visto na figura abaixo (sem seleção da curva, à esquerda, e com seleção da curva, à direita).


Não estou querendo dizer que este é um recurso maravilhoso e revolucionário, e que é isto que faz o LabPlot ser melhor do que o SciDAVis, apesar de este ser um recurso que traz bastante praticidade. O que me chamou a atenção aqui foi a implementação de um recurso que não me parece ser tão trivial de ser implementado. Além disso, testei a função de "estatísticas em colunas" em uma das planilhas. O resultado me surpreendeu também – tanto pela apresentação dos dados (um gráfico em função de números arbitrários é mostrado na parte de cima da visão geral (overview)), quanto pela quantidade de informações que podem ser obtidas com a função, como pode ser visto na figura abaixo:


Enfim, ainda não tive tempo suficiente para testar muitas funcionalidades do LabPlot. Eu já vinha usando ele, há algum tempo, para extrair dados de figuras que encontrava em artigos (link aqui). Porém, não fazia outra coisa além disso, pois, como mencionei em posts anteriores, passei a analisar os meus dados experimentais utilizando somente Python (com numpy, scipy, etc...), e vinha usando o SciDAVis somente para visualização rápida de dados e, eventualmente, importar dados do Origin®. 

Bom, por um lado, continuarei utilizando Python para análises de dados (uma vez lá, não se quer mais voltar :D). No entanto, vou explorar um pouco mais o LabPlot nos próximos tempos. Dependendo de como as coisas andarem, pode até ser que eu crie um blog dedicado a ele (labplotbr ?). A propósito, parabéns aos desenvolvedores do LabPlot!

E aqui vai a crítica ao SciDAVis: os desenvolvedores originais do projeto haviam iniciado uma colaboração com o time do LabPlot. O objetivo era ter um backend comum, com dois frontends: o LabPlot, baseado nas bibliotecas do KDE e o SciDAVis, com interface puramente em Qt. Acredito que se a colaboração tivesse continuado, o SciDAVis estaria muito mais maduro hoje, e com desenvolvimento mais ativo. No mínimo, teria se beneficiado dos avanços feitos pelo time do LabPlot no backend. Mas, enfim, cada um toma as decisões que acha melhor. E o atual "líder" do projeto SciDAVis decidiu não manter a colaboração, quando lhe foi perguntado. Fazer o que?

Até a próxima postagem (provavelmente sobre o LabPlot :). Boas análises de dados!

----------------- 

(Version in English; automated translation from the portuguese version with adjustments :)

 Hello everyone!

This post is both a mixture of pride and disappointment.

I am proud of LabPlot, which has evolved spectacularly in recent years. I am disappointed with SciDAVis, which is more stagnant than ever.
 

Some days ago, I needed to import a file from Origin®, which was sent to me by a collaborator. Normally, I would use SciDAVis to import the file. However, I had a "vision", and decided to use LabPlot for the task. So, I started the program, went to File → Import data → Origin project. Right after that, a dialog box opened where I could navigate to find the .opj file I wanted to work with. As soon as I selected the file, the options for me to choose the objects I wanted to import were shown, as can be seen in the figure below.



 

I ended up importing everything, because I didn't know the exact contents of the file (later, I tested it again and saw that all I had to do was click on the objects I wanted, while pressing Ctrl key, to import only what was necessary). In general, everything worked very well. In fact, the graphs kept the same layout they usually have in Origin®. Only the legends on the graphs were not directly associated with the respective curves.

Despite the success in importing the file from Origin®, this was not what caught my attention. What caught my attention was the fact that when I clicked on a curve in a graph, it was selected, along with the spreadsheet associated with it, as can be seen in the figure below (without selecting the curve, on the left, and with selecting the curve, on the right).


I'm not saying that this is a wonderful and revolutionary feature, nor that this is what makes LabPlot better than SciDAVis, although this is a feature that brings a lot of practicality. What caught my attention here was the implementation of a feature that doesn't seem so trivial to implement. In addition, I tested the "column statistics" function in one of the spreadsheets. The result also surprised me – both in terms of the presentation of the data (a graph based on arbitrary numbers is shown at the top of the overview) and in terms of the amount of information that can be obtained with the function, as can be seen in the figure below:


Anyway, I haven't had enough time to test many of LabPlot's features yet. I've been using it for some time to extract data from figures I found in papers (link here). However, I didn't do anything else with it, because, as I mentioned in previous posts, I started analyzing my experimental data using only Python (with numpy, scipy, etc...), and I was using SciDAVis only for quick data visualization and, occasionally, to import data from Origin®.

Well, on one hand, I'll continue using Python for data analysis (once you're there, you don't want to go back :D). However, I'll explore LabPlot a little more in the near future. Depending on how things go, I might even create a blog dedicated to it (labplotbr?). By the way, congratulations to LabPlot's developers team!

And here's the criticism to SciDAVis: the original developers of the project had started a collaboration with the LabPlot team. The goal was to have a common backend, with two frontends: LabPlot, based on the KDE libraries, and SciDAVis, with a purely Qt interface. I believe that if the collaboration had continued, SciDAVis would be much more mature today, and with more active development. At the very least, it would have benefited from the advances made by the LabPlot team in the backend. But, anyway, each one makes the decisions they think are best. And the current "leader" of the SciDAVis project decided not to continue the collaboration, when asked. What can I do?

Until the next post (probably about LabPlot :). Happy data analysis!

 

terça-feira, 20 de dezembro de 2022

Postagem anual - dezembro de 2022

Olá a todos!

Bom, vou começar a chamar minhas postagens de "postagem anual", já que é isso que tem ocorrido nos últimos 3 anos (contando este) - 1 post por ano...

Como disse no ano anterior, eu já não tenho usado tanto o SciDAVis, pois o perfil de dados que tenho trabalhado (e em volumes consideráveis) é tratado com mais facilidade (e rapidez) com numpy, scipy e cia. Porém, ainda uso o SciDAVis para visualização preliminar de alguns dados e para quando preciso dar zoom em alguma curva para ler valores (ainda não descobri como fazer isso com o Matplotlib).

Em relação ao SciDAVis, nada de espetacular (que possa ser considerado bom) aconteceu em 2022. Mas vamos aos destaques:

  1. Foi lançada a versão 2.8 em 14 de abril de 2022 -> para Windows, Linux e o código fonte
  2. Foi "lançada" a versão 2.9.0 em 8 de maio de 2022 -> apenas o código fonte e alguns pacotes para Linux (em algumas distribuições)

Diferenças entre 1 e 2: alguns bugs foram corrigidos. Mas, por outro lado, o desenvolvimento se tornou uma bagunça. Deem uma olhada nas tags pra terem uma noção. Infelizmente, isso é um ponto negativo que vai atrasar o desenvolvimento, ou até fazê-lo parar em algum momento. Em conversa pessoal com um dos desenvolvedores, ele também notou a bagunça. E tenho a impressão de que isso o desestimulou a dar novas contribuições. Contribuições de outros desenvolvedores também diminuíram muito esse ano. Eu sei quem é o culpado pela desorganização por lá. No entanto, como não vou fazer nada para ajudar a resolver, acho melhor não me intrometer.

Uma outra coisa que gostaria de comentar... Nos últimos meses fui "obrigado" a usar Windows no trabalho e, com isso, descobri que a versão do SciDAVis para Windows tem muito mais problemas do que eu imaginava. Problemas que não ocorrem quando o SciDAVis é executado em Linux. Agora eu entendo os motivos que levam muitos estudantes (no Twitter) a odiarem o SciDAVis quando ele é adotado como ferramenta em algum curso universitário. E não lhes tiro a razão. A coisa é feia mesmo...
Por outro lado, em defesa do SciDAVis, o que posso dizer é que isso não é exclusividade deste software. Nesse tempo que venho usando Windows no trabalho, tenho tentado instalar e utilizar os mesmos softwares que uso em Linux. Alguns exemplos: FreeCAD, LibreOffice, Spyder e Kdenlive. E, para minha surpresa, rodando em Windows todos eles apresentam problemas que não ocorrem quando executados em Linux. Os piores problemas ocorreram com FreeCAD, LibreOffice e Kdenlive, que deram crash e eu acabei perdendo trabalho e tempo. 

Bom... e o que nos resta então? Ajudar e/ou torcer para que o desenvolvimento do SciDAVis seja "normalizado" e que alcance melhores resultados nos próximos anos. No meu caso, só me resta torcer, pois não tenho mais tempo para ajudar. Então, boa sorte SciDAVis!

E aos usuários e leitores, boas análises de dados!

segunda-feira, 27 de dezembro de 2021

SciDAVis no ano de 2021

 Olá pessoal!

Ando meio sem tempo para postar novidades sobre o SciDAVis (apesar de não haverem muitas). E, além disso, já não tenho usado tanto esse software, pois, devido às minhas atividades científicas atuais, tenho feito quase tudo o que preciso com Python, em conjunto com Matplotlib, Numpy, Scipy, dentre outras "peças"... muitas vezes rodando os meus scripts no Spyder. Porém, segue aqui um resumo do que aconteceu com o desenvolvimento do SciDAVis no ano de 2021:

- lançamento da versão 2.4.0: ocorreu em 4 de maio deste ano. Apenas as plataformas Linux e Windows tiveram pacotes binários ("oficiais") com esta versão. Parece que há algum problema para criar um pacote para Mac.
Uma das melhores coisas que vieram com esta versão é que as bibliotecas qwt-qt5 e qwtplot3d foram incorporadas ao projeto, o que ajuda bastante aqueles que compilam o SciDAVis a partir do código fonte, são duas dependências a menos agora...
Uma outra coisa que seria uma boa notícia (já explico) é a possibilidade de habilitar a utilização de scripts em python nos pacotes para Windows. Este commit no Github e este outro contém as alterações que possibilitam isso. A explicação do porquê seria uma boa notícia é que apesar de ser possível habilitar os scripts em python nesta versão, isso não foi feito no pacote oficial para Windows :-(

- criação da SciDAVis Corp: vocês não vão encontrar nada se procurarem por "SciDAVis Corp" no google. Eu só sei que foi criada por ter recebido um convite por email para fazer parte disso (eu recusei o convite por não ter tempo para isso, e também por não ter muito com o que contribuir, além de motivos pessoais). Mas se entrarem em github.com/SciDAVis, verão que foi para esse endereço que o desenvolvimento do SciDAVis migrou.

- maior número de desenvolvedores envolvidos: a ideia do (atual) desenvolvedor principal do projeto, Russell Standish, de migrar o desenvolvimento do projeto do SourceForge.net para o GitHub, em 2015, teve um efeito positivo no que diz respeito a atrair mais colaboradores para o projeto, principalmente neste ano de 2021. Porém, apesar do número de contribuidores ter aumentado, a quantidade de código adicionada não foi, na minha opinião (que é baseada em números que acompanho há mais de 14 anos), expressiva para que o desenvolvimento do SciDAVis se tornasse, digamos, autossustentável... em outras palavras, o "grosso" do trabalho ainda depende muito de duas ou três pessoas apenas.

Bom... é isso. O desenvolvimento do SciDAVis continua ativo. E deverá continuar por um longo tempo. Mas seria bom ver este software, que (ainda) tem um bom potencial para ser a melhor alternativa livre ao Origin, evoluir um pouco mais rápido neste sentido...

Abraço e até sei lá quando...

Boas análises de dados!

segunda-feira, 21 de dezembro de 2020

2020 - Primeiro e último post do ano...


Prezados leitores do blog e usuários do SciDAVis,

O ano de 2020 pode não ter sido um dos melhores para a humanidade de um modo geral. E com o SciDAVis não foi muito diferente, pois o projeto andou devagar esse ano. Mas este não foi o motivo da falta de posts no blog em 2020... foi a falta de tempo mesmo, devido à correria e às diversas atividades em home office.

Apesar do projeto ter andado devagar este ano, pelo menos ele não ficou parado, e algumas coisas boas aconteceram:
- o SciDAVis chegou à versão 2.3.0 (https://sourceforge.net/projects/scidavis/files/SciDAVis/2/2.3/)
- alguns bugs foram corrigidos
- o suporte à versão 5 do Qt foi aprimorado, o que garantirá uma longevidade razoável ao projeto
- a versão 2 do python e a versão 4 do Qt tiveram suporte descontinuado, o que facilitará a manutenção do código

e a melhor das coisas boas foi:
- houveram contribuições de código vindas de outros desenvolvedores: ChinouneMehdi, Suthiro, AndrewAmmerlaan,  srtlg - além das várias contribuições de gbm19 e algumas de highperformancecoder.

Bom, espero que 2021 seja um ano melhor para todos, e que o projeto SciDAVis continue andando em uma boa direção.

Tenham um ótimo (leia-se: o melhor possível) final de ano e que 2021 seja cheio de boas análises de dados científicos :)

segunda-feira, 30 de dezembro de 2019

#scidavisbr - (mais de) 10 anos do blog

Prezados leitores,

Devido à correria do dia a dia, quase acabei deixando passar em branco... Este blog já completou 10 (dez) anos no ar \o/ \o/ 🎂 \o/ \o/ 🎂 \o/ \o/
Neste período muitas coisas mudaram no SciDAVis - novos desenvolvedores, código portado de Qt4 para Qt5, suporte à versão 3 do Python, tradução para novos idiomas, etc... - e haverão ainda mais. O mais importante de tudo isso é que o desenvolvimento continua ativo e com boas perspectivas de que o SciDAVis siga vivo por muitos anos.

Apenas para constar, vamos a algumas estatísticas deste blog:
  • Número de posts (incluindo este que está lendo): 43
  • Número de visualizações de páginas (até 20191021-16:39): mais de 24 mil
  • Ao menos um post em cada ano
  • Distribuição de acessos por navegador:

    Chrome
      53%
    Firefox
      27%
    Internet Explorer
      15%
    Safari
      3%


  • Distribuição de acessos por sistema operacional:

    Windows
     63%
    Linux
     21%
    Unix
     6%
    Macintosh
     4%
    Android
     2%
  • Distribuição de acessos por país:

    Brasil                    48%
    Estados Unidos    27%
    Rússia                   10%
    França                   4%
    Polônia                   2%
    Alemanha              2%
    Japão                     2%
    Espanha                2%
Com base neste último dado, percebo que um dos objetivos do blog foi atingido: proporcionar apoio aos usuários do SciDAVis em língua portuguesa. Mesmo o acesso sendo anônimo e com um número pequeno de comentários nos posts, agradeço aos visitantes que passaram por aqui :-)
E que venham mais 10 anos!!!

quarta-feira, 18 de dezembro de 2019

Atualização do SciDAVis - versão 1.26 disponível para download

Caros usuários do SciDAVis,

Já está disponível a versão 1.26 do SciDAVis - pacotes binários para Linux, Windows e Mac, e também o código fonte.
Esta versão contém apenas correções de alguns bugs, e deve ser a última da série 1.x.
Acredito que a próxima atualização seja a versão 2.0 (ou 2.1), onde será removido o suporte ao Python 2 e Qt 4, dando lugar ao Python 3 e Qt 5. Há esperança de que o suporte à execução de scripts em Python em pacotes para Windows (e também no Mac*) volte a estar disponível no SciDAVis 2.x.

Links para Downloads:
Linux (binários via OBS para várias distribuições): https://software.opensuse.org/download.html?project=home%3Ahpcoder1&package=scidavis
Binários para Windows (.msi) e Mac* (.pkg), e o código fonte: https://sourceforge.net/projects/scidavis/files/SciDAVis/1.26/
* python está desabilitado nos pacotes para Mac na versão 1.26 :-(

Usuários de Slackware terão o build script para a versão 1.26 no repositório do projeto SlackBuilds.org disponível a partir do próximo final de semana.

Boas análises de dados, bom final de ano e até mais!

segunda-feira, 11 de março de 2019

SciDAVis atualizado - versão 1.25 disponível para download

Caros usuários do SciDAVis,

Desde o dia 4/03/2019 está disponível a versão 1.25 do SciDAVis - pacotes binários para Linux, Windows e Mac, e também o código fonte.
Esta versão inclui correções de bugs e suporte ao Qt 5.

Links para Downloads:
Linux (binários via OBS para várias distribuições): https://software.opensuse.org/download.html?project=home%3Ahpcoder1&package=scidavis
Binários para Windows (.msi) e Mac (.pkg), e o código fonte: https://sourceforge.net/projects/scidavis/files/SciDAVis/1.25/

Usuários de Slackware terão o build script para a versão 1.25 no repositório do projeto SlackBuilds.org disponível a partir do próximo final de semana (provavelmente).

Boas análises de dados e até mais!

sábado, 20 de outubro de 2018

SciDAVis 1.23.4 (novo beta - candidato à nova atualização)

Quase um copiar + colar do post anterior...

Neste beta (1.23.4) foram feitas correções de bugs em relação à versão 1.23.2 (beta abterior).
Se possível, por favor, testem e deem um feedback. Notem que com o SciDAVis portado para Qt5, o projeto tende a ter uma maior longevidade garantida, já que este era um dos aspectos que estava travando o empacotamento do software em algumas distribuições Linux.

Os links para download são os que seguem:
Linux (binários via OBS para várias distribuições): https://software.opensuse.org/package/scidavis-beta

Instruções adicionais para compilar a partir do código fonte utilizando Qt5:
- Deve-se utilizar o comando qmake correspondente ao binário da biblioteca Qt5 (aqui por exemplo - Slackware 14.2 - o comando é qmake-qt5);
- É necessário instalar o pacote Qwt5 compatível com Qt5 (que pode ser obtido em: https://github.com/gbm19/qwt5-qt5);
- Também requer o pacote QwtPlot3D compatível com Qt5 (que pode ser obtido em: https://github.com/sintegrial/qwtplot3d)

Repetindo o que eu disse nos posts anteriores sobre versões beta do SciDAVis:
Por favor, se possível testem e reportem os problemas em:
1: https://sourceforge.net/p/scidavis/scidavis-bugs/
Também é possível relatar na lista de discussão de usuários no SourceForge.net (é necessário se cadastrar no SF):
2: https://sourceforge.net/p/scidavis/discussion/708155/
ou na lista de e-mails dos usuários (precisa se inscrever):
3: https://sourceforge.net/projects/scidavis/lists/scidavis-users
Como nas opções 1 a 3 o idioma padrão é o inglês, quem não dominar este idioma pode relatar os problemas que encontrar para mim no e-mail: fellypaoøyahoo·com·br (não esqueça de trocar ø por @ e · por .).
Toda ajuda é bem vinda, e a recompensa será um SciDAVis mais moderno, com menos problemas e com maior longevidade.
Boas análises de dados e até mais!

quarta-feira, 19 de setembro de 2018

SciDAVis 1.23.2 (novo beta) - Compilável com Qt5 ou Qt4

Caros usuários do SciDAVis,

Uma boa notícia: a transição na utilização das bibliotecas Qt da versão 4 para a 5 deu mais um passo, e este foi largo 😃: agora o SciDAVis pode ser compilado com qualquer uma das versões do Qt mencionadas acima. E, para garantir que as coisas estão funcionando bem, foi lançada mais uma versão beta, enumerada como 1.23.2.
Se possível, por favor, testem e deem um feedback. Notem que com o SciDAVis portado para Qt5, o projeto tende a ter uma maior longevidade garantida, já que este era um dos aspectos que estava travando o empacotamento do software em algumas distribuições Linux.

Os links para download são os que seguem:
Linux (binários via OBS para várias distribuições): https://software.opensuse.org/package/scidavis-beta

Instruções adicionais para compilar a partir do código fonte utilizando Qt5:
- Deve-se utilizar o comando qmake correspondente ao binário da biblioteca Qt5 (aqui por exemplo - Slackware 14.2 - o comando é qmake-qt5);
- É necessário instalar o pacote Qwt5 compatível com Qt5 (que pode ser obtido em: https://github.com/gbm19/qwt5-qt5);
- Também requer o pacote QwtPlot3D compatível com Qt5 (que pode ser obtido em: https://github.com/sintegrial/qwtplot3d)

Repetindo o que eu disse nos posts anteriores sobre versões beta do SciDAVis:
Por favor, se possível testem e reportem os problemas em:
1: https://sourceforge.net/p/scidavis/scidavis-bugs/
Também é possível relatar na lista de discussão de usuários no SourceForge.net (é necessário se cadastrar no SF):
2: https://sourceforge.net/p/scidavis/discussion/708155/
ou na lista de e-mails dos usuários (precisa se inscrever):
3: https://sourceforge.net/projects/scidavis/lists/scidavis-users
Como nas opções 1 a 3 o idioma padrão é o inglês, quem não dominar este idioma pode relatar os problemas que encontrar para mim no e-mail: fellypaoøyahoo·com·br (não esqueça de trocar ø por @ e · por .).
Toda ajuda é bem vinda, e a recompensa será um SciDAVis mais moderno, com menos problemas e com maior longevidade.
Boas análises de dados e até mais!

terça-feira, 14 de agosto de 2018

Nova versão beta - 1.23.1 - iniciando a transição do Qt 4 para o Qt 5

Caros usuários do SciDAVis e de softwares similares,

Foi lançada uma nova versão beta do SciDAVis, numerada como 1.23.1. Este lançamento marca o início da transição na utilização das bibliotecas Qt da versão 4 para a 5. É apenas o primeiro passo para a implementação do Qt5, substituindo a API obsoleta do Qt4 (Qt3) por uma API equivalente do Qt5 que também existe no Qt4.

Os links para download são os que seguem:
Linux (binários via OBS para várias distribuições): https://software.opensuse.org/download.html?project=home%3Ahpcoder1&package=scidavis
Código fonte:



Esta versão beta (1.23.1) ainda é compilada utilizando as bibliotecas Qt4. Logo, a compilação segue o mesmo processo da versão anterior (1.23).

Em um primeiro teste aqui (Slackware 14.2), compilou sem erros e está rodando sem problemas 😀

Repetindo o que eu disse nos posts anteriores sobre versões beta do SciDAVis:
Por favor, se possível testem e reportem os problemas em:
Também é possível relatar na lista de discussão de usuários no SourceForge.net (é necessário se cadastrar no SF):
ou na lista de e-mails dos usuários (precisa se inscrever):
Como nas opções 1 a 3 o idioma padrão é o inglês, quem não dominar este idioma pode relatar os problemas que encontrar para mim no e-mail: fellypaoøyahoo·com·br (não esqueça de trocar ø por @ e · por .).
Toda ajuda é bem vinda, e a recompensa será um SciDAVis mais moderno, com menos problemas e com maior longevidade.
Boas análises de dados e até mais!