Como incrementar os nomes dos seus arquivos no DarkTable.

O DarkTable, ou apenas darktable, permite personalizar os nomes dos seus arquivos, incluindo informações adicionais — o que pode ajudar a entender melhor cada imagem a partir do seu nome, sem precisar abrir.

Nomes descritivos, são nomes que explicam, por si só, o conteúdo de cada arquivo, em um diretório.

Usar nomes descritivos, que explicam o que está contido no arquivo, permite, por exemplo, selecionar um grande número de arquivos para transferência ou remoção, de uma só vez, sem precisar olhar uma a uma as imagens.

O darktable permite ir mais longe.

Eu costumo classificar todas as minhas imagens, quando volto de uma sessão de fotos: rejeitadas, 1 estrela, 2 estrelas etc.

Quando o nome do arquivo da imagem contém a classificação que eu dei a ela, fica mais fácil eu decidir o que fazer com cada arquivo — ou grupo de arquivos — no gerenciador de arquivos.

Quando termino de classificá-las, uma a uma, volto para tela inicial e gravo todas as imagens “rejeitadas” com o nome “apague-me” ou “apagueme”.

Mais tarde, quando eu estiver olhando o diretório (ou a pasta) onde as minhas imagens se encontram, posso remover com segurança todas as que foram rejeitadas.

Quando eu acrescento “apagueme” aos nomes dos arquivos rejeitados, depois fica superfácil selecionar e remover o que não prestou, incluindo a versão original RAW (CR2).

Usando variáveis para obter informações do sistema sobre os arquivos de imagens

Usando variáveis de sistema (internas do aplicativo), dá pra gravar suas imagens com nomes bem mais sofisticados.

É possível gravar arquivos com nomes contendo informações sobre a lente usada, a distância focal, a abertura etc.

Veja um exemplo:

$(FILE_FOLDER)/darktable_exported/$(FILE_NAME)-$(EXIF_ISO)

A informação, acima, diz que o darktable deve gravar o arquivo

  • dentro da pasta atual $(FILE_FOLDER)
  • … e dentro de uma subpasta chamada “darktable_exported” (se não existir, será criada)
  • com o nome original dele $(FILE_NAME)
  • acrescido da informação sobre o ISO da imagem $(EXIF_ISO)
O nome do arquivo IMG_0977-400-[2]-0.jpg contém informações sobre o ISO da imagem (400), sua classificação (2) e a versão (0).

De acordo com estes parâmetros, meus arquivos finais, irão ficar parecidos com isto aqui:

IMG_0958-200.jpg

… e serão gravados dentro daquelas pastas especificadas acima.

Faça as suas experiências!

Nomes ainda mais sofisticados

Você pode fazer muito mais do que isso!

Código para gerar um nome de arquivo contendo a classificação (stars), entre outras coisas…

Que tal incluir mais informações da tabela EXIF de metadados nos nomes dos arquivos?

Use o seguinte código (tudo na mesma linha) na caixa de texto:

$(FILE_FOLDER)/darktable_exported/$(FILE_NAME)-$(CREATOR)-$(STARS)-$(VERSION)

Isso irá acrescentar

  • o nome do criador da imagem — informação que você pode acrescentar ou alterar em um dos menus da sua câmera (consulte o manual).
  • a quantidade de estrelas com que você classificou o arquivo.
  • a versão da imagem

O resultado do código acima, será algo semelhante a:

IMG_0989-ELias Praciano-3-0.jpg

Quem trabalha com vários modelos de câmeras e lentes, pode querer inserir estas informações nos nomes dos arquivos. Isto tornaria super fácil encontrar todas as fotos que já foram tiradas com determinada lente — basta fazer a busca pelo nome específico do arquivo!

Tabela de variáveis suportadas pelo DarkTable

De acordo com o manual do aplicativo, as variáveis suportadas — para usar na nomenclatura dos seus arquivos são as seguintes.

$(ROLL_NAME)rolo da imagem de entrada.
$(FILE_FOLDER)a pasta em que se encontra a imagem atual.
$(FILE_NAME)nome do arquivo da imagem.
$(FILE_EXTENSION)a extensão do arquivo da imagem (jpg, cr3, nef etc).
$(ID)número de identificação da imagem.
$(VERSION)quando a mesma imagem é gravada mais de uma vez, o DarkTable dá a cada duplicata um número de versão diferente automaticamente.
$(SEQUENCE)um número sequencial, dentro de um trabalho de exportação.
$(YEAR)o ano referente à data da exportação/gravação da imagem.
$(MONTH)o mês.
$(DAY)o dia.
$(HOUR)a hora.
$(MINUTE)o minuto.
$(SECOND)o segundo.
$(STARS)exibe a classificação que você deu à imagem, em número de estrelas.
$(LABELS)etiquetas de cores relacionada à imagem.
$(MAKER)o fabricante da câmera
$(MODEL)o modelo da máquina
$(TITLE)o título de acordo com os metadados (obtidos da câmera).
$(CREATOR)criador da imagem, de acordo com os metadados.
$(PUBLISHER)publicador, de acordo com os metadados.
$(RIGHTS)informações sobre os direitos autoriais, de acordo com os metadados que você configurou na câmera.
$(USERNAME)o nome do usuário do sistema (operacional).
$(PICTURES_FOLDER)o nome da pasta das imagens.
$(HOME)o nome da pasta do usuário atual.
$(DESKTOP)a pasta referente à área de trabalho.
$(EXIF_YEAR)o ano dentro da data EXIF, fornecido pela câmera.
$(EXIF_MONTH)o mês.
$(EXIF_DAY)o dia.
$(EXIF_HOUR)a hora.
$(EXIF_MINUTE)o minuto.
$(EXIF_SECOND)o segundo.
Tabela de variáveis para usar na nomenclatura de arquivos.

Comente com a gente como você prefere configurar a nomenclatura dos seus arquivos no DarkTable!

Como evitar arquivos RAW corrompidos e danificados

Recentemente, tive que lidar com uma grande quantidade de arquivos de imagens RAW corrompidos durante o processo de transferência do cartão de memória para o HD interno do meu laptop.
Para contextualizar, a câmera usada era uma Canon EOS Rebel T6 (ou 1300D, a depender do mercado em que é comercializada). Mas a culpa não é da câmera — pelo menos não neste caso.

O problema ocorria tanto no Windows 10, como no uso do Linux (Debian 10 e POP_OS). Não testei no MacOS. Sorry…

Por que as imagens se corrompem durante a transferência

Vários fatores podem concorrer para estragar as suas imagens RAW durante a transferência do cartão para o computador.

Este tipo de imagem é muito maior que as imagens em JPEG e carregam uma quantidade muito maior de informações sensíveis. Se algo se perder no caminho, a imagem inteira poderá restar inutilizada.

Atualmente, prefiro usar sempre o Shotwell para fazer as minhas transferências. Uma das boas características do programa é que ele extrai o JPEG embutido no RAW e grava no mesmo diretório para o qual está copiando seus arquivos.
No meu caso, isto ajudava a ter pelo menos uma cópia em JPEG usável, quando o RAW estava corrompido.
Ubuntu Nautilus

Arquivos “crus” .CR2 e .CR3 da Canon contém imagens JPEG embutidos e já tratados pelo processamento interno da sua máquina fotográfica. Por este motivo, não é necessário usar a configuração de registrar em RAW+JPEG, presente no menu do seu equipamento.
O único efeito desta redundância é sobrecarregar o “buffer” da sua máquina, o que diminui a velocidade do modo contínuo (ou burst mode).

Eu vou listar algumas situações que podem causar danos aos seus arquivos durante a transferência:

  1. Ao usar um leitor de cartões USB externo, você tem pelo menos 3 conexões críticas pelas quais os dados precisam passar: do cartão para o leitor; do leitor para o cabo USB; do cabo USB para o computador. Se houver algum problema em um destes pontos, você provavelmente terá alguns arquivos estragados.
  2. Se você usa um cartão de memória “combo”, ou seja um micro SD dentro de um adaptador SD, adicione uma conexão a mais ao problema.

Para mim, o estrago ocorria por uma sucessão de fatores. Usar um cartão combo, no meu laptop Dell, era um deles.
Como o leitor embutido do notebook não é muito apertado, provavelmente permite alguma folga entre o microSD e o invólucro adaptador SD, que causava pequenas interrupções nos contatos e, consequentemente, interrompia o fluxo de dados.

Como resolvi o problema

Eu pude resolver o problema com as seguintes ações:

  • Usar um adaptador SD/MicroSD mais justo/apertado.
  • Usar um leitor externo com uma entrada muito apertada e que não permite folgas entre cartão, adaptador e leitor USB.
  • Substituir o MicroSD com adaptador por um cartão SD “puro”, de alta velocidade. Neste caso, ele funcionou perfeitamente, ao ser conectado ao leitor interno do laptop.

Qualquer uma destas medidas resolveu o problema de arquivos RAW corrompidos para mim.

Espero que este relato possa ajudá-lo(a) a resolver o seu problema, aí.

Referências

Câmera Canon EOS Rebel T6: https://amzn.to/2k9JyOc.
Cartão SDHC Extreme: https://amzn.to/2LiJO9V.

Copie arquivos entre dispositivos, com a máxima segurança, usando o grsync

O Grsync é uma interface gráfica para o programa de cópias rsync, desenvolvida em GTK2.
Até o momento, suporta os recursos mais importantes do rsync da linha de comando e é indicado para realizar sincronização de diretórios locais.

Pode ser chamado da interface gráfica, como qualquer outro programa e tem versões para Windows, Mac e Linux.

Se preferir executar da linha de comando (CLI), é possível especificar uma determinada sessão a ser carregada, em vez da sessão padrão.
Se nenhum parâmetro for dado, na CLI, ele carrega a última tarefa realizada, o que facilita a vida de quem sempre usa o rsync de uma só maneira, para copiar os mesmos arquivos para o mesmo destino.

Como instalar o Grsync

Usuários Windows e Mac, vejam os links de download ao final do post.

Para a turma do Linux, o aplicativo faz parte dos repositórios (lojas) oficiais das principais distribuições.
Debian Ubuntu Instalar programas

Será fácil encontrá-lo no seu gerenciador/instalador de programas (ou loja de apps).
Instalação do grsync

Quem prefere a linha de comando, pode usar o apt (Debian/Ubuntu):


sudo apt install grsync

Como usar o Grsync

Basicamente, tudo o que se precisa fazer é indicar a pasta/diretório de origem e o destino.
Claro que há uma série de outras opções de ajustes para as suas cópias saírem de acordo com as suas necessidades.
A interface está quase toda traduzida para o português, o que facilita fazer suas escolhas, quanto ao modo de operação do programa.
Tela do Grsync

Você pode passar o cursor do mouse sobre as alternativas do painel, para obter uma ajuda sensível ao contexto, através de uma pop up box.
O painel de opções avançadas apresenta itens de segurança de dados durante a cópia e um espaço, semelhante à linha de comando, para personalizar suas opções.

Durante a execução, o Grsync exibe o andamento das cópias individuais (no caso de vários arquivos) e no decurso total da tarefa.

Não há nada que o Grsync faça que não seja possível realizar, com mais flexibilidade e controle, na linha de comando com o rsync.
Mas é uma aplicação alternativa e excelente para quem prefere usar a GUI para transferência de arquivos.

Se quiser saber mais sobre o rsync, leia aqui.

Referências

Página de download da versão para Windows: http://grsync-win.sourceforge.net/
Página de download da versão para Mac: http://grsync-mac.tuxfamily.org/?lang=en

Como fazer buscas via grep dentro de arquivos texto .doc

Arquivos .doc, do Microsoft Office são arquivos binários, com muito pouco conteúdo em texto e, portanto, imunes à leitura pelo comando grep.
Mas você pode contornar facilmente o problema com o uso de uma ferramenta adicional, o catdoc.

Geralmente, o utilitário não costuma vir instalado, por padrão.
Mas ele está disponível nos repositórios oficiais da maioria das distribuições GNU/Linux. É só ir lá e pegar…

No Debian ou no Ubuntu, faça a instalação via apt:


sudo apt install catdoc

O catdoc tem limitações.
A partir do programa, é possível realizar um cat “normal” em cima de qualquer arquivo .doc comum.
Já o conteúdo de arquivos criptografados ou do tipo .docx infelizmente não pode ser visto ou pesquisado pelo aplicativo.
catdoc grep

O utilitário, combinado com o comando grep, dará o resultado desejado.
Segue um exemplo:


catdoc Documentos/Guia\ do\ ubuntu.doc | grep -i ubuntu

Leia mais sobre o comando grep.

Como pesquisar em arquivos .ODT, com o comando grep

Infelizmente, o comando grep não consegue enxergar o conteúdo de arquivos .odt, bem como muitos outros arquivos que não sejam puro texto.
Arquivos binários, como é o caso, não são transparentes para o uso do grep.

Neste texto, vou mostrar como fazer a conversão do seu arquivo .odt e, durante o processo, o grep captura o conteúdo e faz a busca pelas strings que você sugere, na linha de comando.
Para isto, o utilitário odt2txt faz a conversão do .odt e repassa o resultado ao comando grep.
A sintaxe é assim:

odt2txt --stdout nome-do-arquivo.odt | grep -i string-a-ser-pesquisada

Veja um exemplo:


odt2txt --stdout Documentos/Linux\ Cloud.odt | grep -i linux

A Evolução do GNU/Linux
Distribuições GNU/Linux
Certificação Linux
Mercado Linux
Conhecendo a Arquitetura do Sistema Linux
Linux Inside: Instalação Desktop Debian e CentOS

Com a opção ‘–stdout’, o utilitário odt2txt desvia o resultado para a saída padrão do sistema.
Em seguida, o grep é chamado para interceptar o resultado, no modo texto e exibir as linhas que contém a cadeia de caracteres solicitada.

Leia mais sobre o comando grep.