Installing OpenCV has never been easy and always required a lot of careful usage of the command line to build from source. This was especially painful when working with a Raspberry Pi as building and installing OpenCV took a lot of time on the RPi, especially on the older models. Luckily this has changed very recently as it is now possible to install OpenCV with pip!
Below I guide you through the basic steps that I think are necessary to get opencv to work nicely on Mac, Ubuntu and Raspberry Pi. If you want more background information, see the excellent article by Adrian Rosebrock from PyImageSearch.com.
FFmpeg is a great little program to help convert more or less any media format. I previously wrote an article how to install ffmpeg on the Raspberry Pi. This short tutorial will help you install ffmpeg on Mac, which is luckily a lot simpler!
The easiest way to install ffmpeg is to use HomeBrew a package manager for Mac. If you don’t have homebrew installed on your mac already, run the following command using terminal:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Once you have Homebrew installed, you can now simply install ffmpeg from terminal with the following command:
brew install ffmpeg
To install ffmpeg with specifical modules, instead of running the above command run below command or remove those modules you do not need:
brew install ffmpeg --with-chromaprint --with-fdk-aac --with-fontconfig --with-freetype --with-frei0r --with-game-music-emu --with-libass --with-libbluray --with-libbs2b --with-libcaca --with-libgsm --with-libmodplug --with-librsvg --with-libsoxr --with-libssh --with-libvidstab --with-libvorbis --with-libvpx --with-opencore-amr --with-openh264 --with-openjpeg --with-openssl --with-opus --with-rtmpdump --with-rubberband --with-sdl2 --with-snappy --with-speex --with-tesseract --with-theora --with-tools --with-two-lame --with-wavpack --with-webp --with-x265 --with-xz --with-zeromq --with-zim
I am very excited to say that, as a fellow of the Zukunftskolleg at the University of Konstanz, I have recently started a one-year position as part of the Executive Committee, the central decision-making body of the Zukunftskolleg.
What makes the Zukuntskolleg quite unique as an Institute of Advanced Science is that the EC committee is not only made up of the directory, Vice Rector for Research and Academic Staff Development at the University, but also representatives of the fellows. In this way us fellows can ourselves play an important role in the management and decision-making of the Zukunftskolleg. A really great opportunity for me to help improve this great community.
This is a repost of an article I was invited to write for the Academic Life Histories Blog, a great collection of articles about navigating academia. See it here.
I always knew in the back of my mind I wanted to have children. However, I never really thought about when that would be. About halfway through my PhD that started to change. Work was progressing well and I was really enjoying the freedom of being able to dive deep into my own research interests. I was fortunate to have my own scholarship and a great supervisor who gave me all the freedom I wanted but was also there for me for long chats about science and academia. I was making my own plans and working according to my own schedule, which wasn’t exactly always nine to five. After some time, I suddenly started to realise that these conditions were actually pretty ideal for having a child and that, as I wanted to have children anyway at some point, why wait?
Towards the end of my third year as a PhD student my son was born. As I was doing my doctorate in the UK, that unfortunately also meant that I only had a few months of funding left. I took a couple weeks of paternity leave and, when my son was about five weeks old, flew with my family to Southern Germany for a job interview. I was lucky to get offered a postdoc position. I still had my PhD to finish though…
To save a jupyter script as an executable .py script you can use the
nbconvert command in terminal:
$ jupyter nbconvert --to script [NOTEBOOK_NAME].ipynb
Make sure to either
cd into the directory where the ipynb file is located or to paste the complete path of the file. But even better is to call the command directly in a jupyter notebook by prepending
!, which will run bash code inside any jupyter script:
!jupyter nbconvert --to script [NOTEBOOK_NAME].ipynb
In this way you can save your .ipynb file to .py file in an easy and fast way and only when you need it, such as when pushing a commit to github, saving time compared to when using auto convert.
The last couple days I have been in Florence for the SEB conference. What a great location to have a conference! Where else can you have pizza for breakfast?
On Tuesday I gave a talk about a mechanistic framework I am developing with Shaun Killen to understand the role of individual heterogeneity in collective behaviour. The sessions this year are all really relevant to me and saw lots of great talks and posters and nice to bump into academic friends from around the world. Too many new project ideas! But I think some nice new collaborations will come from it as well.
Today I visited Münster to give an invited departmental seminar at the Institute for Evolution & Biodiversity. It was great to see the nice stickleback labs of Jörn Scharsack and Joachim Kurz and the way in which they are able to experimentally parasitise the fish with Schistocephalus.
Really enjoyed meeting many other members of the department and the very enthusiastic students in the group. I am excited about the possibilities for future collaborations with Jörn to unravel the mechanistic underpinnings of parasite infection and its link to personality variation. Thanks again to Jörn and Nicolle for inviting me!
Today I visited the Institute for Zoology at the University of Bonn. I was invited by Gerhard von der Emde to give a departmental seminar and discuss ideas for investigating individual differences and collective behaviour in weakly electric fish.
Gerhard is an expert on electro-signalling and communicating in weakly electric fish and has been doing great work on unravelling the potential ways that these fish use their electric field. See for example their recent paper in PNAS that shows fish actively use electrocommunication in their interactions.
Yesterday night we had the Konstanzer Lange Nacht der Wissenschaft, a whole evening where scientists present their work to the general public. I was excited to also participate this year and had a couple boards installed with posters and photos about my work, and a big screen that showcased collective moving stickleback shoals with the sophisticated tracking and processing we use projected on top.Read further…
The last couple days Shaun Killen and Lucy Cotgrove from the University of Glasgow visited me in Konstanz to work together on a couple of exciting projects. Shaun and I started collaborating about a year ago to bridge the fields of animal physiology, animal personality, and collective behaviour.
With help of a Zukunftskolleg mentorship grant, we recently started writing an opinion paper on the topic, as well as analysing an exciting experiment with Lucy on the role of individual differences in metabolic rate on collective movement dynamics of schooling fish.Read further…
The last three days I attended the annual von Humboldt conference. It was great fun meeting my fellow research fellows and learning about their (extremely diverse!) work. Quite surprised to learn I was the only Dutch research fellow this year among the many nationalities. Had the chance to present my work during the poster session, which was great fun, and exciting to showcase my new tracking software live using a mobile projector. Got many new ideas these last couple days by chatting with the other researchers at such an inter-discplinary level.
Today French MSc student Pauline joins the lab! She starts a three-month project to investigate the mechanisms underlying the boldness personality trait and will run a range of behavioural experiments with three-spined sticklebacks.
Today is the start of a new research period for me. I was very lucky to be awarded both a von Humboldt postdoctoral fellowship as well as a Zukunfstkolleg fellowship. These fellowships will give me the freedom to fully develop and pursue my own research ideas and set up my own interdisciplinary research program.
The next couple years I will aim to set up a unified framework for investigating the link between consistent behavioural variation, the emergence of collective properties, group functioning, and ultimately individual fitness and between-group dynamics. I will employ a combination of detailed laboratory experiments, field surveys, and computational modelling to study consistent behavioural phenotypes and collective behaviour of three-spined sticklebacks (Gasterosteus aculeatus).
By developing this framework and fully bridging the gap between the fields of Animal Personality and Collective Behaviour, I aim for this project to yield crucial new insights into the ecological and evolutionary implications of consistent behavioural phenotypes and the evolution of sociality.
From swarm to school, stickleback groups differ repeatedly in their collective performance
among schooling fish, groups can have different collective personalities, with some shoals sticking closer together, being better coordinated, and showing clearer leadership than others.
For centuries, scientists and non-scientists alike have been fascinated by the beautiful and often complex collective behaviour of animal groups, such as the highly synchronised movements of flocks of birds and schools of fish. Often, those spectacular collective patterns emerge from individual group members using simple rules in their interactions, without requiring global knowledge of their group.
In recent years it has also become apparent that, across the animal kingdom, individual animals often differ considerably and consistently in their behaviour, with some individuals being bolder, more active, or more social than others.
New research conducted at the University of Cambridge’s Department of Zoology suggests that observations of different groups of schooling fish could provide important insights into how the make-up of groups can drive collective behaviour and performance.
In the study, published today in the journal Proceedings of the Royal Society B, the researchers created random groups of wild-caught stickleback fish and subjected them repeatedly to a range of environments that included open spaces, plant cover, and patches of food.