32
of 76
TEP , The Engineering Projects , Image

syedzainnasir

TEP , The Engineering Projects , Rating 7.5 7.5 / 10
TEP , The Engineering Projects , Icon Level: Moderator
TEP , The Engineering Projects , Icon Joined: 20 Mar 2022
TEP , The Engineering Projects , Icon Last Active: 2:21 PM
TEP , The Engineering Projects , Icon Location: TEP , The Engineering Projects , Flag
TEP , The ENgineering Projects , Icon TEP , The ENgineering Projects , Icon TEP , The ENgineering Projects , Icon TEP , The ENgineering Projects , Icon
I have a very densely tessellated surface which looks like this: White matter dense
[img]https://i.stack.imgur.com/gcNFn.png[/img]
This surface is too densely tessellated for me, so I subsample it to get a coarser surface. To do this, I used Matlab's reducepatch function. This works pretty well: [code]https://i.stack.imgur.com/U6sVm.png[/code] White matter subsampled

Unfortunately, the coloring is based on a variable called sulcal_depth, which is defined for every vertex of my tessellated surface. So I need to retain sulcal depth information only from the vertices which remain after subsampling. Essentially, I need reducepatch to give me not just the subsampled version of the surface, but also the indices of vertex points that it retained. If I know the preserved indices, I can just index my sulcal_depth variable to get the new depth map.

Currently, I'm doing this as follows (this is also how I colored the subsampled version above):
[code]function indices = compute_reduced_indices(before, after) %% Function to compute the indices of vertices preserved during an operation of % reducepatch. This allows you to use reducepatch to subsample a surface and % re-compute an original signal on the vertices for the new subsampled mesh indices = zeros(length(after), 1); for i = 1:length(after) dotprods = (before * after(i, :)') ./ sqrt(sum(before.^2, 2)); [~, indices(i)] = max(dotprods); end[/code] But as you might imagine, this is pretty slow, because of the for loop over vertices. I don't have enough memory to vectorize the loop and compute the full dot product matrix in one go.

Is there a smart way to get reducepatch to give me indices, or an alternative approach (with or without reducepatch) that's faster?
TEP , The Engineering Projects , Icon Answer: 0 TEP , The Engineering Projects , Icon Views: 150 TEP , The Engineering Projects , Icon Followers: 85
Small Bio
TEP , The Engineering Projects , Tags
PLC
Robot
STM32
Arduino
AI
ESP32
Ladder Logic
PLC Projects
Programming
Communicates STM32
PLC Projects
Communicates PLC
Font Style
Alignment
Indenting and Lists
Insert Media
Insert Items

Want to leave an answer!

Word Count :0 Draft Saved at 12:42 am.