I understood, that you like to form set of building blocks of for complex images. For this job seems to be handy small pictures \pic, which you defined in `\tikzset and than use in complex image. Something like this:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,positioning,shapes}
%---------------------------------------------------------------%
\tikzset{mynevro/.style = {
nerve1/.pic = {\path[draw=red, rounded corners=1.2mm, thick,
top color=red, bottom color=red, middle color=red!25]
( 0.0,1.2) coordinate (-north)-| (0.2,0.2) -|
( 3.0,0.0) coordinate (-east) |- (-3,-0.2) |- (-2,-1.2) |-
(-3.4,-1.6) --
(-3.4,0.0) coordinate (-west) |- (-2,2.4)
|- (-3,1.6) |- (-0.2,0.2) |- (0,1.2);
},
nerve2/.pic = {\path[draw=blue, rounded corners=1.2mm, thick,
top color=orange, bottom color=orange, middle color=orange!25]
( 0.0, 1.2) coordinate (-north) -| ( 0.2,0.2) -- (3.5, 0.2) --
( 4.2, 0.6) coordinate (-east above) to [out=225, in=175,looseness=4]
( 4.2, 0.15) to [out=195, in=165,looseness=6]
( 4.2,-0.15) to [out=195, in=135,looseness=4]
( 4.2,-0.6) coordinate (-east below) -- ( 3.5,-0.2) --
( 0.0,-0.2) coordinate (-south) -- (-3.5,-0.2) --
(-4.0,-0.6) coordinate (-west below) to [out=45, in=-45,looseness=1.3]
(-4.0, 0.6) coordinate (-west above) -- (-3.5, 0.2) -| (-0.2, 1.2) --
cycle;%
\coordinate (-west) at (-3.8,0);
\coordinate (-east) at ( 3.8,0);
},
nerve3/.style = {circle,minimum size=7mm, draw=black,
inner color=yellow, outer color=red,
node contents={~}
},
}
}% end of tikzset
%---------------------------------------------------------------%
\begin{document}
\begin{tikzpicture}[mynevro]
\pic (A) {nerve1};
\node[above] at (A-north) {north};
\node[right] at (A-east) {east};
\node[left] at (A-west) {west};
\end{tikzpicture}
\bigskip
\begin{tikzpicture}[mynevro,
node distance = 0mm,
points/.style = {circle, inner sep=1pt, fill=red},
pin edge = black
]
\pic (A) {nerve2};
\node[points,pin=45:north, above=of A-north] {};
%
\node[points,pin=45:east above, above right=of A-east above] {};
\node[points,pin= 0:east, right=of A-east] {};
\node[points,pin=315:east below, below right=of A-east below] {};
%
\node[points,pin=315:south, below=of A-south] {};
%
\node[points,pin=240:west below, below left=of A-west below] {};
\node[points,pin=180:west, right=of A-west] {};
\node[points,pin=135:west above, below right=of A-west above] {};
%
\end{tikzpicture}
\bigskip
\begin{tikzpicture}[mynevro,
node distance = 0mm,
]
\pic (A) {nerve1};
\pic (B) [right=42mm of A-east] {nerve2};
\node[nerve3,above=of A-north];
%
\end{tikzpicture}
\end{document}

With designed small picture you can almost unlimited compose complex picture. In their positioning in picture you need to take a care width of pic. As they are defined as in above MWE, its anchor is at inner coordinate (0,0).
To pic you can add nodes with text etc relative to coordinates defined for each \pic. This is demonstrated in first two images, where are designates anchors of pic by nodes with anchor names (the first picture) and by nodes with pins with anchor names.
Addendum: The positioning of small pictures is tricky. In this a drawer had to keep in mind that above \pic has origin at internal coordinate (0,0), which is 12 mm below anchor north and 37 mm right from anchor west (see definition of nerve2). Consequently, that nerve2 can follows nerve1 without gap between them, their position should be defined (relatively) as:
\begin{tikzpicture}[mynevro,
node distance = 0mm,
]
\pic (A) {nerve1};
\pic (B) [right=37mm of A-east] {nerve2};% <--
\end{tikzpicture}
In this case the picture is:

As help in composing of nerves into complex images serves the first two images in the first pictures.
There is another problem with pic. As cfr mentioned in her comment: " ... the pic naming is broken and has been for a while. That is, some of the syntax which did work and should work and is in the manual does not work at the moment and hasn't for some time. ..."
\unionclipin this answer helps? – Tom Bombadil Dec 19 '15 at 11:03