To visualise the topographical distribution of electric or magnetic brain activity on the head, FieldTrip uses a family of topoplot functions. There are several styles to choose from, which determine o.a. if contour lines will be plotted on top of the color image.
Now, the default setting cfg.style = ‘both’ (with contour lines) or cfg.style = ‘straight’ (without contour lines) rely on contour or contourf, which in Matlab 2014b and later plot a set of triangles rather than one rasterised figure. This massively increases file sizes, and can cause weird artefacts when saving and viewing as pdf (elaborate rant here).
Luckily, FieldTrip’s topoplot functions have the option cfg.style = ‘both_imsat’ or cfg.style = ‘straight_imsat’, which both call imagesc which produces smaller-size, rasterised topoplots. This setting changed one pdf document with 20 topoplots from 9 MB to 100 KB, without the need to save as bitmap. The ‘imsat’ styles are not documented in the high-level FieldTrip function, but if you want to do the detective work yourself I’d recommend having a look at topoplot_common, line 745.
tldr; FieldTrip’s topoplots, saved to pdf, will be ± 2MB smaller when using cfg.style = ‘straight_imsat’.
Disclaimer: this works in Matlab 2015a, FieldTrip version 0979eda, using the Painters renderer and saving to pdf.