RSE Career Paths and a Vacancy in the RSE Team

One of the key motivations, shared by myself and Mike Croucher, for establishing an RSE group at the University of Sheffield was to provide a career path for RSEs. The RSE team has been working for some time with HR on establishing a generic job (role) description for G7 and G8 (lecturer level) RSEs which can be used for staff progression. I am please to announce that these are now published on our website. The job descriptions provide a template for the recruitment of RSEs across the whole university and are the job descriptions which members of the RSE team work from.

In conjunction with the release of these RSE job descriptions I am excited to announce that we are currently advertising an open-ended RSE position to join the RSE group. This is particularly important to me as the group director as it is the first new open-ended RSE post to be advertised which is not attached to any particular research project. 1 The significance of this is that this role demonstrates that the university is bought into the RSE vision and strategy which has been developed at Sheffield. A large number of people have contributed to developing this strategy and I am extremely pleased to see it moving forward. The new position will be working within a group of RSEs which has grown significantly over the last two years (additional recruitment is planned shortly). Myself and the group look forward to welcoming a new candidate into the team.

Follow this link for the job advert advert

Informal questions relating to this post or any other matter can be directed to myself (Paul Richmond) via the RSE website contact details.

1: The University of Sheffield RSE strategy has enabled current RSE team members to transition into open-ended positions from fixed term contracts.

Osteolytica Project Wrapup

As the Osteolytica project undertaken by RSES comes to an end, it’s a good time to review the project.

What is Osteolytica?

Osteolytica is a software tool for osteolytic lesion analysis developed in collaboration with teams led by Dr. Andrew Chantry from Oncology and Dr. Paul Richmond from RSES. It specialises in the reconstruction and analysis of volumetric bone samples generated by murine myeloma studies and obtained from Micro CT scanners within a research environment.

The GPU (CUDA) is used to accelerate the reconstruction and analysis process, and additionally, for the rendering and visualization of the bone volumes with ray-tracing.

Compared to the previous approach which involves the manual counting of osteolytic lesions, Osteolytica offers significant improvements with respect to the accuracy and reproducibility as shown in this published paper.

The reconstruction process

The goal of Osteolytica is to determine the surface area missing from the bone as a result of osteolytic lesions without needing to refer to prior samples. In order to do this, Osteolytica performs a bone surface reconstruction in two stages, expansion, and contraction.

For the expansion stage (Figure 1), volumetric expansion is performed on the bone volume sample. This expansion closes the holes within the sample, generating a water-tight volume that also allows the empty areas inside and outside of the volume to be differentiated.

Expansion process

Figure 1: The expansion process shown in 2D. a) Bone volume is shown in black. b) The volume is expanded (red) until all the gaps are enclosed. c) Once the expansion is completed, the inside volume can be filled in and the contraction starts from the expansion border (blue line)

A contraction process is then performed (Figure 2), starting from the outside of the expanded volume, to reduce the expanded volume and creating a crust that approximately fits the bone sample. Osteolytica also performs localised fitting of this crust surface by performing per-voxel localised contraction (Figure 3).

Contraction process

Figure 2: The contraction process shown in 2D. Contraction starts from the expansion border (blue line) and travels towards the centre of the volume. Deeper green shows higher contraction iteration.

Localised fitting

Figure 3: Starting from the crust that forms when the contraction boundary meets bone voxels (green line), each voxel on the crust (green dot) is projected in to the volume. Each crust voxel searches a limited surrounding area to count the number of surrounding bone voxels and will place itself in a location where it finds the highest number of bone voxels in the surrounding.

The final result from these two processes is the original bone volume that has been wrapped within a watertight crust. Where the crust does not overlap a bone voxel, it is defined as a hole (Figure 4 red areas). We can then use this information to approximate the amount of missing surface area of the bone.

Reconstruction results

Figure 4: Osteolytica applied to various types of bone. a, b & c) The the original bone volumes. d, e & f) Reconstruction of the volumes. The reconstruction is shown in red.

Handling High-Resolution Samples

While mouse tibia were initially used to as the dataset for testing Osteolytica, the intention is to make the program work with high resolution scans of the entire body. Due to the exponential memory requirement for representing dense volumetric data which can easily exceed the size of a GPU’s memory, Osteolytica was changed to use unified managed CUDA memory. From Nvidia GPU’s Pascal architecture onwards, it allows memory to be allocated that is larger than the memory card as long as there is enough system memory. The process works by automatically fetching from system memory when the code running on the GPU requests it.

In order to keep texture memory used for visualising the volume interactively small enough to fit within the GPU memory, Osteolytica downscales bone samples to fit the size of a pre-specified maximum rendering volume.

Time series scans from longitudinal studies

The last new development in Osteolytica is to add an experimental feature to allow comparison of the same set of bone over time. This happens in longitudinal studies that tracks the progression of cancer in response to the administration of a new drug for example.

While theoretically it should be possible to compare the bone volumes over time period directly, there’s a problem where bone volumes in each scan do not align to each other exactly. The alignment problem was solved by using a local optimisation algorithm (COBYLA provided in nlopt) in order to maximise the overlap between the two volumes in the time series. The initial result of this alignment process is shown in Figure 5 for two volumes scanned at week 0 and week 3. The white colour shows where the volumes overlap, blue and red colours represent the week 0 sample and week 3 samples respectively that did not overlap. Figure 5a shows the two volumes before alignment and Figure 5b shows the volumes after alignment. In this case it can be seen that there has been bone growth after the administering of drugs and that lesions are starting to be filled in.

Volume alignment

Figure 5: Overlapping week 0 and week 3 volumes. White shows overlap, blue shows week 0 and red is week 0 without overlap. a) Volumes before alignment. b) Volumes after alignment.

Future work

While the core development of Osteolytica is now complete, the clinical trial is just starting and will run for over a year. Afterwards, the resulting scans will then be processed through Osteolytica to measure the progress of treatment.

The next iteration of Osteolytica will investigate the use of deep learning to perform bone reconstruction with training dataset generated from a synthetic bone degradation model.

Hacktoberfest 2018

RSE Sheffield welcome you to Hacktoberfest 2018!

Starts 2nd Oct. & every tue evening.

Hacktoberfest is back! a one month celebration of open source software, all about encouraging meaningful contributions to the open source ecosystem, for beginners and veterans alike.

We had a great time last year, hosting hacktoberfest sessions as part of the Sheffield R Users group and Code First Girls so we're doing it again!

We're offering a range of sessions, open to anyone, in a friendly informal environment, as a great opportunity to learn more about:

  • open source and the huge diversity of projects available for contribution.
  • how to find projects, tasks and ways to contribute.
  • version control through git and GitHub.
  • programming and software development.
  • effective collaboration online.
Make five contributions to projects on GitHub during October and get a Hacktoberfest t-shirt!


Introductory session

2nd Oct. 5.30- 7.30 pm, The Red Deer

We'll kick off with an introductory session on open source on the 2nd of October at the Sheffield R Users Group meetup. The focus of the session will be on using GitHub to explore and contribute to open source and is not limited to R users. Also note that there is a huge variety of projects available, many not involving coding at all (ie collaborative writing projects, training material development). So feel free to attend if your just curious about open source in general.

Hacky hour sessions

Room 3.15 (Meeting Room 1), the Diamond, 5:30 pm to 8:30 pm
The University of Sheffield, 32 Leavygreave Rd, S3 7RD

For every following tuesday evening of October, we've booked a room to explore Hacktoberfest projects together! The room is booked on the following dates:

  • 09 October
  • 16 October
  • 23 October
  • 30 October

(If you don't have a TUoS swipe card, please register here for a pass to the Diamond)

Come to as many sessions as you like, stay as long as you can, bring your friends! If anyone get's stuck there'll be others around to help. There'll also be at least one member of the RSE team at each session to help with questions and demystifying any open source jargon.

By the end hopefully you'll have had an opportunity to learn more about collaboration, play around with something new and managed to contribute and get the t-shirt to prove it!

Hope to see you there!

RSE Computing Seminar and Coffee & Cake event 19th June 2018 at 12:00

Both events will be held at COM-G12-Main Lewin, Computer Science Department (ground floor) on the 19th of June, starting from 12:00.

12:00 - RSE Seminar: Tackling the learning curve of scientific programming

By: Dr. Patricio Ortiz

Talk Abstract:

Programming is part of the curriculum of students of computer science, and it will be complemented with other related subjects to make them knowledgeable on the subject. The situation of a science or engineering student is the opposite; typically they have one course to learn one language, and that language is usually not the one they will first face in real-life situations. This situation has occurred for decades, and it is likely not going to change, but there is a real need to better prepare science and engineering students to face the very steep learning curve of having to start programming as part of an ongoing project or their thesis. Universities like ours offer excellent facilities like the HPCs supplied by CICS, yet the reality is that many students and young researchers may have never used a Unix based system, let alone a parallel system.

The book I wrote, "first steps in scientific programmings" aims at facilitating the passage through the learning curve by providing tips based on years of experience and my interaction with students and brilliant young researchers who did not have the opportunity to learn anywhere else the challenges which programming in a scientific environment involve.

I will briefly describe the points which I think are more important to emphasise, points which I've confirmed as important by interacting with other experienced researchers at the U. of Sheffield, who are trying to provide support for the people starting in this field.

Link for the book:

A supportive link:

Please Register using Eventbrite

13:00 - Coffee and Cake event

The Coffe and Cake event is open to everyone and offers a great opportunity to further discuss the topics raised by our speaker. In addition, if you have any particular research software issues or would like to have a general discussion about research software or software in teaching, please come along for an informal chat with the RSE team.

Book: First steps in Scientific Programming

I have just published this book in electronic and print formats ( iBooks and Amazon). This work aims at providing science and engineering students/post-docs a series of concepts found in real-life scientific projects, including concepts of programming, code testing, internal representation, rounding errors, tricks of the trade, advice on best practice to store data for long-term usage as well as a broad introduction to the Unix environment which they will find when coding for HPC and cloud computing. I do not focus on any individual language but the elements common to all of them. I cover the value of designing the code carefully, planning for future use and scalability, either using flowcharts or just "generic code". I give an overview of the tools available to tackle different problems. Sections as diverse as working with existing code and working with time are covered. This book is intended to ease the learning curve for those starting, not for the seasoned scientific programmer. Click here for a more detailed description including a table of contents.

Patricio F. Ortiz is an RSE based on the Department of Automatic Control and Systems Engineering, The University of Sheffield, mostly involved with the design and implementation of the architecture for the Urban Flows Observatory project. Its objective is to monitor a number of variables in a urban environment, from whether variables, air pollution to behaviour of construction materials. Its data can potentially be correlated with data dealing with human activities and human health issues, and it could involve several disciplines in the long run. The Urban Flows Observatory is mostly financed by EPSRC and UKCRIC. Sheffield is one of a handful of cities involved in this nationwide effort.

SSI Fellowship success for Sheffield

The Software Sustainability Institute(SSI) is a cross-council funded group that supports the research software community in the UK. It has championed the role of the Research Software Engineer and has led national and international initiatives in the field.

One of the most popular activities undertaken by the SSI is their fellowship program. This competitive process provides an annual cohort of fellows with £3,000 to spend over fifteen months on a project of their choice. Competition for these fellowships is fierce! Just like larger fellowships, applicants must get through a peer-reviewed application process that includes written proposals and selection days.

I am extremely happy to report that Sheffield has won, not just one, but three SSI Fellowships this year. The only institution to match us was UCL, home of one of the first RSE group in the country. Here's a brief statement from each Sheffield fellow explaining how they plan to use their funds:

Tania Allard

Nowadays, the majority of research relies on software to some degree. However, in many cases, there is little focus on developing scientific software using best development practices due to a number of reasons such as the lack of adequate mentoring and training, little understanding of the requirements of the scientific code, and software being undervalued or not considered as a primary research output. This has changed over time with the emergence of RSEs (Research Software Engineers) just like myself. But certainly not every university or institute has an RSE team, neither every discipline is represented in the current RSE community. I plan to use this fellowship to develop an RSE winter school covering not only technical skills but also some of the craftsmanship and soft skills needed when developing a significant amount of scientific code. Also, this winter school will help to diversify the RSE pool by focusing on underrepresented groups within the community (e.g. gender, age, scientific disciplines, universities without RSEs) while disseminating best software practices among a number of disciplines.

Becky Arnold

I'm planning use the fellowship funds to bring external speakers in to talk to the astrophysics group, with the goal of improving the style, efficiency and sustainability of our coding. As physicists, as I imagine in many fields, we are largely taught to code to get the things we need to be done completed as quickly as possible, with little regard for the quality of the code itself. We are taught how to code, but not how to code well. I want to give us the opportunity to improve in that. Also I hope to change the way we think about coding, from a disposable stepping stone used to further research as quickly as possible to a fundamental part of the science itself.

Adam Tomkins

I am part of the Fruit Fly Brain Observatory project, with the aim to open up neurological data to the community, in an accessible way. Part of the issue with open data sharing is the vast amount of custom storage and format solutions, used by different labs. With this fellowship, I will be holding training events for both biologists and computational modelers on how to use the latest open data standards, demonstrating how using open software can generate instant added-value to data, with a larger community of tools and platforms.

RSE at Sheffield

When we set up the Sheffield RSE group, one of our aims was to help cultivate an environment at Sheffield where research software was valued. We do this by providing training events, writing grants with academics, consulting with researchers to improve software, improving the HPC environment and anything else we can think of. Of course, correlation does not imply causation but we like to believe that we helped our new SSI Fellows in some way (the SSI agrees) and we are very happy to bask in their reflected glory.