Here we provide tasks of varying difficulty for people who want to work with us or do summer practice or other kinds of apprenticeship. To apply you must provide your solution to one or more of the challenges below. Each challenge will specify a code word for a technique or tool to be used. For example, [Neuron, Python] means you should use Neuron simulator or Python language, or both, to address the problem. Every open position specifies who you should send the solutions to. If in doubt, send it to “d dot wojcik at nencki dot gov dot pl”.

A solution means usually

  1. writing code which does something,
  2. analyzing the results, and
  3. writing a brief summarizing report.

If you solve several tasks you may send one summary report. When preparing the programs for us, check if we can run them – are there any special paths inside? Are you making assumptions which may not be satisfied? You may want to first ask a colleague to see if she can run it without trouble.

Alternatively, make some meaningful changes to one of our projects on github and get back to us once your pull request is accepted.


  1. [Python] Data In the images folder you can find jpg files which are photographs of a mouse in a three-chambered cage taken once per second. Write a program which automatically locates the mouse on each frame and returns the time spent in each of three compartments. Notes:
    • Make sure your program would work for white mice.
    • Your program does not have to find the boundaries of the compartments, you can provide it as an extra input.
  2. [Python] Data A group of mice lives in a house with four rooms (1, 2, 3, 4). Mice are identified by their numbers (e.g. ‘0065-0136670531’). The whole experiment lasts 3 days, and is divided into six 12-hour long phases (named PHASE 1 dark, PHASE 1 light, PHASE 2 dark, … PHASE 3 light). In the script example.py you can find a stub of a data analysis program, showing how to load and access the data.Write a program which:
    • calculates how much time each of the mice spent in each of the rooms in each experimental phase,
    • calculates how much time each *pair* of mice spent together (in the same room) in each experimental phase,
    • saves the results to an easily readable text or CSV file.
  3. [Python] Data In the imgdata folder there are CSV files containing experimental data. Each file contains results of analysis of one brain image. The files start like this:Animal number,912
    Picture number,1
    3,2.146303,268.172057In the header you can find the ID of the animal (Animal number),  age of the animal in weeks, and consecutive number of the picture for that animal. Below there is a list of cells identified at this image. Each cell is characterized by its size and intensity. The hypothesis is that the average size and intensity correlate with the age of the animal.Write a program to verify this hypothesis. The output of the program should be plots of size and intensity (average of all cells from each animal separately) as functions of age.Note: do not assume any specific number of animals / pictures in the imgdata folder. You may assume these number are < 10000.
  4. [Python] Data In the “samples” directory there are samples of four different textures. The “to_classify.png” image is made up of combinations of these four types and of two additional classes.Write a program that recognizes classes of textures in the “to_classify.png” image according to the provided samples. Benchmark your method by comparing your results with the ground truth data from the “ground_truth.png” where each class has been assigned a different value (index). If your method works flawlessly it should generate an image identical to the “ground_truth.png”.Notes:
    1. You may only use the provided examples to gather information about the texture. You cannot use the “image_to_classify.png” to obtain any knowledge for the segmentation. Consider “image_to_classify.png” an “unseen” image until it comes to segmentation.
    2. The texture class indexes correspond to the grayscale values in the “ground_truth.png” image. For instance, the texture shown on the image “example_1.png” is the texture which corresponds to the grayscale value 1 in the “ground_truth.png”.
    3. Make sure you provide enough information so the person checking your code will be able to rerun you calculations and obtain the same results.
  5. [Neuron, Python] Install Neuron simulator from Yale so you can run it from Python. Install LFPy and go through LFPy tutorial. LFPy has notes on installation Python with Neuron. Select one example from LFPy tutorial and experiment with it. Send your code and a brief report on the performed experiments.
  6. [Neuron] Install Neuron simulator. Select anty model from ModelDB database which captures your interest and experiment with it. Send your code and a brief report on the performed experiments.
  7. [R] Use R to read in one of the simulated datasets we provide in RepOD and visualize the distribution of membrane potential along a selected pyramidal cell. If you are ambitious, visualize its activity in time as a collection of images or a movie. Send your working code and a brief report.