This week we welcome Dr. Margherita DI LEO as our PyDev of the Week. She is our first PyLady in this series! Let’s spend some time getting to know her!
Can you tell us a little about yourself (hobbies, education, etc):
I come from a small village in the south of Italy. Like the most classic stereotype of a person coming from southern Italy, I very much enjoy sleeping, eating and cooking, especially for large and noisy companies. Moreover, like most women from the south (another stereotype!), my hobbies entail creative crafts, like sewing, knitting, crocheting, and I would add coding because times are changing and so are the ways of crafting.
I graduated as an Environmental Engineer with a focus on Natural Risks management. My first work experience was in a private company as project designer of renewable energy plants. After some time, I returned back to academia and got my PhD in Methods and Technologies for Environmental Monitoring. Currently I work as a researcher at the European Commission, Joint Research Centre (JRC), Ispra (VA), Italy, in the Forest Resources and Climate Unit.
I mainly work as a GIS (Geographic Information System) analyst, and when I have the freedom of choice, select Free and Open Source Software (FOSS) tools.
I’m a FOSS enthusiast and take active part in associations supporting the use of FOSS, for exampleas an OSGeo charter member. OSGeo is the Open Source
Geospatial Foundation, an international organization that supports, promotes and spreads the use of FOSS for geospatial (GFOSS). I also started a group at JRC within which we organize meetings and lectures about GFOSS. The initiative aims at facilitating the exchange of information and the cross-cooperation among
developers.
Why did you start using Python?
My first work in Python was developing a GRASS GIS extension (addon). GRASS is a popular GIS originally developed by the U.S. Army Construction Engineering Research Laboratories, later evolved into a FOSS project, supported by a vibrant community. Thanks to such welcoming community I selected GRASS as my favorite GIS and turned gradually into a developer and become also a member of the Project Steering Committee (PSC).
It is possible to develop applications for GRASS in Python, C, but also Fortran or bash. What made Python my selection, is the possibility of making your application multi-platform only sticking with some coding rules. Another advantage is that you can create with Python a whole chain of actions, from pre-processing (including parsing input files) to the final product and even its publication onto the web, entirely using Python as a glue. Also, some very important libraries for geospatial can be easily used through Python.
What other programming languages do you know and which is your favorite?
At university, I received formal education in Fortran, C and C++, but didn’t use them much in real life, preferring Python, Bash, the Matlab-like GNU Octave, and more recently R. This latter is a good candidate for becoming my new favorite after Python. It is specifically designed for statistical computing, but many libraries have been developed for close any purposes. You can use R along the whole chain of data analysis and statistics, from data retrieving, pre-processing, analysis, graps, and publication onto the web, see knitr and shiny just for example. Moreover, particularly handy are the “apply” family of functions, that perform implicit loops.
What projects are you working on now?
One of the most interesting project I’m currently working on is a framework for monitoring plant pest outbreaks from remote sensing imagery. The critical aspects of this project are essentially related to the computational time over large datasets and the need of timely outcomes, and we are exploring the possibility to run computations in Google Earth Engine. The platform offers advanced features to Trusted Tester developers who request it, including the possibility to develop your own data analysis algorithms (also using Python).
Another interesting project I’m currently working on with my partner, in my spare time, is the development of home made drones using open hardware components. The advantage of open hardware is its suitability to be used for environmental monitoring in situations limited by the scarcity of resources like for example developing countries.
Which Python libraries are your favorite (core or 3rd party)?
As mentioned above, I make extensive use of geospatial libraries. One of my favorites is pyProj, which embeds complex mathematical transformations corresponding to the different cartographic representations of the Earth, allowing very elegant calculations in apparently “simple” way, for example the distance between 2 points, given 2 pairs of coordinates expressed in any reference system.
Also, for data analysis I have been using extensively NumPy, sciPy, Matplotlib, pandas, and IPython. I very much appreciate also multiprocessing to speed up computational time.
Is there anything else you’d like to say?
I would like to thank you so much for asking me to participate in this interview, I’ve been following your blog for years and it has been my invaluable guidance. I got to know your blog studying wxPython and I would like to mention its community as one of the most welcoming and helpful around. In my opinion the community represents a fundamental part of the success of an open source project.
Thank you!