На данный момент у меня есть набор треков (в отдельных файлах) в 3 измерениях. Моя цель состоит в том, чтобы создать как минимум 2 2D тепловые карты (отношения XY / XZ) из этих треков, основываясь на том, сколько разных треков пересекают область произвольного размера.
Тем не менее, было бы идеально иметь трехмерную тепловую карту!
Допустим, область составляет 10x10, а дорожки охватывают область 100x100 (на самом деле это 480 x 640, но обсудить 100x100 проще)
У меня есть представление о том, как это сделать, но это требует дополнительных 2-3 матриц на дорожку и не кажется эффективным / самым простым способом кодирования этого.
По сути, моя идея вращается вокруг обработки каждого трека в отдельности. Вы начинаете с соответствующей матрицы int, которая отслеживает, сколько треков появилось в вашей области интереса (ROI), начиная с 0 для каждой записи. Затем у вас есть другая матрица эквивалентного размера, но она принимает логические значения, вы перебираете список дорожек и изменяете запись матрицы bool на true, если дорожка находится в соответствующей области. Затем вы увеличиваете исходную матрицу int +1, если значение bool равно true в соответствующей области. Затем вы сбрасываете все, кроме матрицы int, и начинаете заново с новым файлом дорожки. Затем вы можете просто создать график блоков с интенсивностью / цветом, соответствующим матрице int.
Но мне было интересно, есть ли более чистый или более эффективный способ сделать это.