diff --git a/LICENSE.md b/LICENSE.md
index 96337d1438f50cdb889281d9f0949004c1e61139..cdc772df1deddefb6d7d6d6e10025930792b41c5 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,4 +1,4 @@
-#Hydra Signal Processor
+#Hydra Image Processor
 
 ##BSD 3-Clause License
 
@@ -15,7 +15,7 @@ modification, are permitted provided that the following conditions are met:
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 
-* Neither the name of Hydra Signal Processor nor the names of its
+* Neither the name of Hydra Image Processor nor the names of its
   contributors may be used to endorse or promote products derived from
   this software without specific prior written permission.
 
diff --git a/readme.md b/readme.md
index 57452ac251a611a1497e78de08f89dec6838f78c..6f29865a835191e2b03e09d9fde0270a7fba6cd9 100644
--- a/readme.md
+++ b/readme.md
@@ -1,9 +1,9 @@
 <img src=logo.png  width="300px" height="250px"/>
 
-Hydra Signal Processor (HSP)
+Hydra Image Processor (HIP)
 ===
 
-Hydra Signal Processor is a hardware accelerated signal processing library written with [CUDA](https://developer.nvidia.com/cuda-zone). HSP aims to create a signal processing library that can be incorporated into many software tools. This library is licensed under BSD 3-Clause to encourage use in open-source and commercial software. My only plea is that if you find bugs or make changes that you contribute them back to this repository. Happy processing and enjoy!
+Hydra Image Processor is a hardware accelerated signal processing library written with [CUDA](https://developer.nvidia.com/cuda-zone). HIP aims to create a signal processing library that can be incorporated into many software tools. This library is licensed under BSD 3-Clause to encourage use in open-source and commercial software. My only plea is that if you find bugs or make changes that you contribute them back to this repository. Happy processing and enjoy!
 
 ##Dependencies
 
diff --git a/src/MATLAB/+HSP/+Local/Closure.m b/src/MATLAB/+HIP/+Local/Closure.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/Closure.m
rename to src/MATLAB/+HIP/+Local/Closure.m
diff --git a/src/MATLAB/+HSP/+Local/ElementWiseDifference.m b/src/MATLAB/+HIP/+Local/ElementWiseDifference.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/ElementWiseDifference.m
rename to src/MATLAB/+HIP/+Local/ElementWiseDifference.m
diff --git a/src/MATLAB/+HSP/+Local/EntropyFilter.m b/src/MATLAB/+HIP/+Local/EntropyFilter.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/EntropyFilter.m
rename to src/MATLAB/+HIP/+Local/EntropyFilter.m
diff --git a/src/MATLAB/+HSP/+Local/Gaussian.m b/src/MATLAB/+HIP/+Local/Gaussian.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/Gaussian.m
rename to src/MATLAB/+HIP/+Local/Gaussian.m
diff --git a/src/MATLAB/+HSP/+Local/GetMinMax.m b/src/MATLAB/+HIP/+Local/GetMinMax.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/GetMinMax.m
rename to src/MATLAB/+HIP/+Local/GetMinMax.m
diff --git a/src/MATLAB/+HSP/+Local/HighPassFilter.m b/src/MATLAB/+HIP/+Local/HighPassFilter.m
similarity index 81%
rename from src/MATLAB/+HSP/+Local/HighPassFilter.m
rename to src/MATLAB/+HIP/+Local/HighPassFilter.m
index b22eef4bc409b687f5c55d778fc0bd83e4cfd8bb..ab4f2ab78a371384dc6c9d7fdcfd611d1ee29c77 100644
--- a/src/MATLAB/+HSP/+Local/HighPassFilter.m
+++ b/src/MATLAB/+HIP/+Local/HighPassFilter.m
@@ -3,6 +3,6 @@ function arrayOut = HighPassFilter(arrayIn,sigmas,device,suppressWarning)
         warning('Falling back to matlab.');
     end     
      
-    arrayOut = HSP.Local.Gaussian(arrayIn,sigmas,[],[],true);
+    arrayOut = HIP.Local.Gaussian(arrayIn,sigmas,[],[],true);
     arrayOut = arrayOut - arrayIn;
 end
diff --git a/src/MATLAB/+HSP/+Local/Info.m b/src/MATLAB/+HIP/+Local/Info.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/Info.m
rename to src/MATLAB/+HIP/+Local/Info.m
diff --git a/src/MATLAB/+HSP/+Local/LoG.m b/src/MATLAB/+HIP/+Local/LoG.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/LoG.m
rename to src/MATLAB/+HIP/+Local/LoG.m
diff --git a/src/MATLAB/+HSP/+Local/MaxFilter.m b/src/MATLAB/+HIP/+Local/MaxFilter.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/MaxFilter.m
rename to src/MATLAB/+HIP/+Local/MaxFilter.m
diff --git a/src/MATLAB/+HSP/+Local/MeanFilter.m b/src/MATLAB/+HIP/+Local/MeanFilter.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/MeanFilter.m
rename to src/MATLAB/+HIP/+Local/MeanFilter.m
diff --git a/src/MATLAB/+HSP/+Local/MedianFilter.m b/src/MATLAB/+HIP/+Local/MedianFilter.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/MedianFilter.m
rename to src/MATLAB/+HIP/+Local/MedianFilter.m
diff --git a/src/MATLAB/+HSP/+Local/MinFilter.m b/src/MATLAB/+HIP/+Local/MinFilter.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/MinFilter.m
rename to src/MATLAB/+HIP/+Local/MinFilter.m
diff --git a/src/MATLAB/+HSP/+Local/MinMax.m b/src/MATLAB/+HIP/+Local/MinMax.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/MinMax.m
rename to src/MATLAB/+HIP/+Local/MinMax.m
diff --git a/src/MATLAB/+HSP/+Local/MultiplySum.m b/src/MATLAB/+HIP/+Local/MultiplySum.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/MultiplySum.m
rename to src/MATLAB/+HIP/+Local/MultiplySum.m
diff --git a/src/MATLAB/+HSP/+Local/Opener.m b/src/MATLAB/+HIP/+Local/Opener.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/Opener.m
rename to src/MATLAB/+HIP/+Local/Opener.m
diff --git a/src/MATLAB/+HSP/+Local/StdFilter.m b/src/MATLAB/+HIP/+Local/StdFilter.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/StdFilter.m
rename to src/MATLAB/+HIP/+Local/StdFilter.m
diff --git a/src/MATLAB/+HSP/+Local/Sum.m b/src/MATLAB/+HIP/+Local/Sum.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/Sum.m
rename to src/MATLAB/+HIP/+Local/Sum.m
diff --git a/src/MATLAB/+HSP/+Local/VarFilter.m b/src/MATLAB/+HIP/+Local/VarFilter.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/VarFilter.m
rename to src/MATLAB/+HIP/+Local/VarFilter.m
diff --git a/src/MATLAB/+HSP/+Local/WienerFilter.m b/src/MATLAB/+HIP/+Local/WienerFilter.m
similarity index 100%
rename from src/MATLAB/+HSP/+Local/WienerFilter.m
rename to src/MATLAB/+HIP/+Local/WienerFilter.m
diff --git a/src/MATLAB/+HSP/@Cuda/Closure.m b/src/MATLAB/+HIP/@Cuda/Closure.m
similarity index 91%
rename from src/MATLAB/+HSP/@Cuda/Closure.m
rename to src/MATLAB/+HIP/@Cuda/Closure.m
index b2a59d36f2882624e23bd56c39af9f029aa4b7b4..de14b6d2663369f5471e7eefaa1706cb737dbca5 100644
--- a/src/MATLAB/+HSP/@Cuda/Closure.m
+++ b/src/MATLAB/+HIP/@Cuda/Closure.m
@@ -1,5 +1,5 @@
 % Closure - This kernel will dilate follow by an erosion.
-%    arrayOut = HSP.Cuda.Closure(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.Cuda.Closure(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -18,5 +18,5 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 function arrayOut = Closure(arrayIn,kernel,numIterations,device)
-    [arrayOut] = HSP.Cuda.Mex('Closure',arrayIn,kernel,numIterations,device);
+    [arrayOut] = HIP.Cuda.Mex('Closure',arrayIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/Cuda.m b/src/MATLAB/+HIP/@Cuda/Cuda.m
similarity index 100%
rename from src/MATLAB/+HSP/@Cuda/Cuda.m
rename to src/MATLAB/+HIP/@Cuda/Cuda.m
diff --git a/src/MATLAB/+HSP/@Cuda/DeviceCount.m b/src/MATLAB/+HIP/@Cuda/DeviceCount.m
similarity index 77%
rename from src/MATLAB/+HSP/@Cuda/DeviceCount.m
rename to src/MATLAB/+HIP/@Cuda/DeviceCount.m
index 089ceeaa4ea9ca94ae95985dba34f7b7752f9b22..e98fcdda17e5c21eb3ac016a6b7a61260b6075b0 100644
--- a/src/MATLAB/+HSP/@Cuda/DeviceCount.m
+++ b/src/MATLAB/+HIP/@Cuda/DeviceCount.m
@@ -1,8 +1,8 @@
 % DeviceCount - This will return the number of Cuda devices available, and their memory.
-%    [numCudaDevices,memoryStats] = HSP.Cuda.DeviceCount()
+%    [numCudaDevices,memoryStats] = HIP.Cuda.DeviceCount()
 %    	NumCudaDevices -- this is the number of Cuda devices available.
 %    	MemoryStats -- this is an array of structures where each entry corresponds to a Cuda device.
 %    		The memory structure contains the total memory on the device and the memory available for a Cuda call.
 function [numCudaDevices,memoryStats] = DeviceCount()
-    [numCudaDevices,memoryStats] = HSP.Cuda.Mex('DeviceCount');
+    [numCudaDevices,memoryStats] = HIP.Cuda.Mex('DeviceCount');
 end
diff --git a/src/MATLAB/+HSP/@Cuda/DeviceStats.m b/src/MATLAB/+HIP/@Cuda/DeviceStats.m
similarity index 77%
rename from src/MATLAB/+HSP/@Cuda/DeviceStats.m
rename to src/MATLAB/+HIP/@Cuda/DeviceStats.m
index 60423939b151e19e07c4a08908cc0b4899d05c72..72369ad9358f9d710a37045db66bac6bcdbdcc59 100644
--- a/src/MATLAB/+HSP/@Cuda/DeviceStats.m
+++ b/src/MATLAB/+HIP/@Cuda/DeviceStats.m
@@ -1,7 +1,7 @@
 % DeviceStats - This will return the statistics of each Cuda capable device installed.
-%    deviceStatsArray = HSP.Cuda.DeviceStats()
+%    deviceStatsArray = HIP.Cuda.DeviceStats()
 %    	DeviceStatsArray -- this is an array of structs, one struct per device.
 %    		The struct has these fields: name, major, minor, constMem, sharedMem, totalMem, tccDriver, mpCount, threadsPerMP, warpSize, maxThreads.
 function deviceStatsArray = DeviceStats()
-    [deviceStatsArray] = HSP.Cuda.Mex('DeviceStats');
+    [deviceStatsArray] = HIP.Cuda.Mex('DeviceStats');
 end
diff --git a/src/MATLAB/+HSP/@Cuda/ElementWiseDifference.m b/src/MATLAB/+HIP/@Cuda/ElementWiseDifference.m
similarity index 89%
rename from src/MATLAB/+HSP/@Cuda/ElementWiseDifference.m
rename to src/MATLAB/+HIP/@Cuda/ElementWiseDifference.m
index c2778de4305f9d268018d005196389a28dc4bd73..3a79d97b6ef012238f28de4cf565dbcbc8557df3 100644
--- a/src/MATLAB/+HSP/@Cuda/ElementWiseDifference.m
+++ b/src/MATLAB/+HIP/@Cuda/ElementWiseDifference.m
@@ -1,5 +1,5 @@
 % ElementWiseDifference - This subtracts the second array from the first, element by element (A-B).
-%    arrayOut = HSP.Cuda.ElementWiseDifference(array1In,array2In,[device])
+%    arrayOut = HIP.Cuda.ElementWiseDifference(array1In,array2In,[device])
 %    	image1In = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -14,5 +14,5 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 function arrayOut = ElementWiseDifference(array1In,array2In,device)
-    [arrayOut] = HSP.Cuda.Mex('ElementWiseDifference',array1In,array2In,device);
+    [arrayOut] = HIP.Cuda.Mex('ElementWiseDifference',array1In,array2In,device);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/EntropyFilter.m b/src/MATLAB/+HIP/@Cuda/EntropyFilter.m
similarity index 89%
rename from src/MATLAB/+HSP/@Cuda/EntropyFilter.m
rename to src/MATLAB/+HIP/@Cuda/EntropyFilter.m
index fd1b3e5a0b3b2f9dd301c796a05bf2542d6e7915..8e3ccda8c2ec174769e264b5cc77734eed73cd8d 100644
--- a/src/MATLAB/+HSP/@Cuda/EntropyFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/EntropyFilter.m
@@ -1,5 +1,5 @@
 % EntropyFilter - This calculates the entropy within the neighborhood given by the kernel.
-%    arrayOut = HSP.Cuda.EntropyFilter(arrayIn,kernel,[device])
+%    arrayOut = HIP.Cuda.EntropyFilter(arrayIn,kernel,[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -14,5 +14,5 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 function arrayOut = EntropyFilter(arrayIn,kernel,device)
-    [arrayOut] = HSP.Cuda.Mex('EntropyFilter',arrayIn,kernel,device);
+    [arrayOut] = HIP.Cuda.Mex('EntropyFilter',arrayIn,kernel,device);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/Gaussian.m b/src/MATLAB/+HIP/@Cuda/Gaussian.m
similarity index 90%
rename from src/MATLAB/+HSP/@Cuda/Gaussian.m
rename to src/MATLAB/+HIP/@Cuda/Gaussian.m
index a3c4fec7d8743a3744c69f3aed22b89a0df96880..e4cb71f50a7f134f24b9d6c1be0935a5231cce91 100644
--- a/src/MATLAB/+HSP/@Cuda/Gaussian.m
+++ b/src/MATLAB/+HIP/@Cuda/Gaussian.m
@@ -1,5 +1,5 @@
 % Gaussian - Gaussian smoothing.
-%    arrayOut = HSP.Cuda.Gaussian(arrayIn,sigmas,[numIterations],[device])
+%    arrayOut = HIP.Cuda.Gaussian(arrayIn,sigmas,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -17,5 +17,5 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 function arrayOut = Gaussian(arrayIn,sigmas,numIterations,device)
-    [arrayOut] = HSP.Cuda.Mex('Gaussian',arrayIn,sigmas,numIterations,device);
+    [arrayOut] = HIP.Cuda.Mex('Gaussian',arrayIn,sigmas,numIterations,device);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/GetMinMax.m b/src/MATLAB/+HIP/@Cuda/GetMinMax.m
similarity index 82%
rename from src/MATLAB/+HSP/@Cuda/GetMinMax.m
rename to src/MATLAB/+HIP/@Cuda/GetMinMax.m
index 93dc760b85422ecf3a92309dc14dac7272a20cb9..c5c12c440f9a29153b6ede5f211a9520d51b6675 100644
--- a/src/MATLAB/+HSP/@Cuda/GetMinMax.m
+++ b/src/MATLAB/+HIP/@Cuda/GetMinMax.m
@@ -1,5 +1,5 @@
 % GetMinMax - This function finds the lowest and highest value in the array that is passed in.
-%    [minValue,maxValue] = HSP.Cuda.GetMinMax(arrayIn,[device])
+%    [minValue,maxValue] = HIP.Cuda.GetMinMax(arrayIn,[device])
 %    	imageIn = This is a one to five dimensional array.
 %    
 %    	device (optional) = Use this if you have multiple devices and want to select one explicitly.
@@ -9,5 +9,5 @@
 %    	minValue = This is the lowest value found in the array.
 %    	maxValue = This is the highest value found in the array.
 function [minValue,maxValue] = GetMinMax(arrayIn,device)
-    [minValue,maxValue] = HSP.Cuda.Mex('GetMinMax',arrayIn,device);
+    [minValue,maxValue] = HIP.Cuda.Mex('GetMinMax',arrayIn,device);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/Help.m b/src/MATLAB/+HIP/@Cuda/Help.m
similarity index 67%
rename from src/MATLAB/+HSP/@Cuda/Help.m
rename to src/MATLAB/+HIP/@Cuda/Help.m
index 36fcc973fda2b4aa7c3d9446c566c9eae8e91a55..a446a6fcbd5fc086a23788a4fe2d317d6063e58f 100644
--- a/src/MATLAB/+HSP/@Cuda/Help.m
+++ b/src/MATLAB/+HIP/@Cuda/Help.m
@@ -1,6 +1,6 @@
 % Help - Help on a specified command.
-%    HSP.Cuda.Help(command)
+%    HIP.Cuda.Help(command)
 %    Print detailed usage information for the specified command.
 function Help(command)
-    HSP.Cuda.Mex('Help',command);
+    HIP.Cuda.Mex('Help',command);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/HighPassFilter.m b/src/MATLAB/+HIP/@Cuda/HighPassFilter.m
similarity index 88%
rename from src/MATLAB/+HSP/@Cuda/HighPassFilter.m
rename to src/MATLAB/+HIP/@Cuda/HighPassFilter.m
index b2ef0a2cc991421d1d94c479f83215f941a2ca74..cb5b62e58693b1853777d1f1dfb9a34c37179b0d 100644
--- a/src/MATLAB/+HSP/@Cuda/HighPassFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/HighPassFilter.m
@@ -1,5 +1,5 @@
 % HighPassFilter - Filters out low frequency by subtracting a Gaussian blurred version of the input based on the sigmas provided.
-%    arrayOut = HSP.Cuda.HighPassFilter(arrayIn,sigmas,[device])
+%    arrayOut = HIP.Cuda.HighPassFilter(arrayIn,sigmas,[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -13,5 +13,5 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 function arrayOut = HighPassFilter(arrayIn,sigmas,device)
-    [arrayOut] = HSP.Cuda.Mex('HighPassFilter',arrayIn,sigmas,device);
+    [arrayOut] = HIP.Cuda.Mex('HighPassFilter',arrayIn,sigmas,device);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/Info.m b/src/MATLAB/+HIP/@Cuda/Info.m
similarity index 83%
rename from src/MATLAB/+HSP/@Cuda/Info.m
rename to src/MATLAB/+HIP/@Cuda/Info.m
index 248e37d06cf00e06bc2139149286320fe13d8b19..1ab3948bbdca2f523b54660213c490121102dd3b 100644
--- a/src/MATLAB/+HSP/@Cuda/Info.m
+++ b/src/MATLAB/+HIP/@Cuda/Info.m
@@ -1,10 +1,10 @@
 % Info - Get information on all available mex commands.
-%    commandInfo = HSP.Cuda.Info()
+%    commandInfo = HIP.Cuda.Info()
 %    Returns commandInfo structure array containing information on all mex commands.
 %       commandInfo.command - Command string
 %       commandInfo.outArgs - Cell array of output arguments
 %       commandInfo.inArgs - Cell array of input arguments
 %       commandInfo.helpLines - Cell array of input arguments
 function commandInfo = Info()
-    [commandInfo] = HSP.Cuda.Mex('Info');
+    [commandInfo] = HIP.Cuda.Mex('Info');
 end
diff --git a/src/MATLAB/+HSP/@Cuda/LoG.m b/src/MATLAB/+HIP/@Cuda/LoG.m
similarity index 88%
rename from src/MATLAB/+HSP/@Cuda/LoG.m
rename to src/MATLAB/+HIP/@Cuda/LoG.m
index d4b551ac01037fbe7e719f98167b8cef9db0c3e8..e6d5bb440bd4261e7b783e916aa4fe481d46c684 100644
--- a/src/MATLAB/+HSP/@Cuda/LoG.m
+++ b/src/MATLAB/+HIP/@Cuda/LoG.m
@@ -1,5 +1,5 @@
 % LoG - Apply a Lapplacian of Gaussian filter with the given sigmas.
-%    arrayOut = HSP.Cuda.LoG(arrayIn,sigmas,[device])
+%    arrayOut = HIP.Cuda.LoG(arrayIn,sigmas,[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -13,5 +13,5 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 function arrayOut = LoG(arrayIn,sigmas,device)
-    [arrayOut] = HSP.Cuda.Mex('LoG',arrayIn,sigmas,device);
+    [arrayOut] = HIP.Cuda.Mex('LoG',arrayIn,sigmas,device);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/MaxFilter.m b/src/MATLAB/+HIP/@Cuda/MaxFilter.m
similarity index 91%
rename from src/MATLAB/+HSP/@Cuda/MaxFilter.m
rename to src/MATLAB/+HIP/@Cuda/MaxFilter.m
index 0d6c29520c2db1eba0af7c69c1b90ea2335058de..2715cc59ad78fe94495cb59bf44eb8e840ea4ddf 100644
--- a/src/MATLAB/+HSP/@Cuda/MaxFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/MaxFilter.m
@@ -1,5 +1,5 @@
 % MaxFilter - This will set each pixel/voxel to the max value of the neighborhood defined by the given kernel.
-%    arrayOut = HSP.Cuda.MaxFilter(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.Cuda.MaxFilter(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -18,5 +18,5 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 function arrayOut = MaxFilter(arrayIn,kernel,numIterations,device)
-    [arrayOut] = HSP.Cuda.Mex('MaxFilter',arrayIn,kernel,numIterations,device);
+    [arrayOut] = HIP.Cuda.Mex('MaxFilter',arrayIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/MeanFilter.m b/src/MATLAB/+HIP/@Cuda/MeanFilter.m
similarity index 91%
rename from src/MATLAB/+HSP/@Cuda/MeanFilter.m
rename to src/MATLAB/+HIP/@Cuda/MeanFilter.m
index 3f8ddf1b1e90baea96e2ad40530e9dfb64bedb3d..95ce167a0330379bca8ca8bb151b86efb172513b 100644
--- a/src/MATLAB/+HSP/@Cuda/MeanFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/MeanFilter.m
@@ -1,5 +1,5 @@
 % MeanFilter - This will take the mean of the given neighborhood.
-%    arrayOut = HSP.Cuda.MeanFilter(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.Cuda.MeanFilter(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -18,5 +18,5 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 function arrayOut = MeanFilter(arrayIn,kernel,numIterations,device)
-    [arrayOut] = HSP.Cuda.Mex('MeanFilter',arrayIn,kernel,numIterations,device);
+    [arrayOut] = HIP.Cuda.Mex('MeanFilter',arrayIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/MedianFilter.m b/src/MATLAB/+HIP/@Cuda/MedianFilter.m
similarity index 91%
rename from src/MATLAB/+HSP/@Cuda/MedianFilter.m
rename to src/MATLAB/+HIP/@Cuda/MedianFilter.m
index a13f1fb8c853b5bc7bc614c7bb44c0bdd71db33a..28cbc93b4c0f5c92178c5213b710f4308e0fd0ec 100644
--- a/src/MATLAB/+HSP/@Cuda/MedianFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/MedianFilter.m
@@ -1,5 +1,5 @@
 % MedianFilter - This will calculate the median for each neighborhood defined by the kernel.
-%    arrayOut = HSP.Cuda.MedianFilter(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.Cuda.MedianFilter(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -18,5 +18,5 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 function arrayOut = MedianFilter(arrayIn,kernel,numIterations,device)
-    [arrayOut] = HSP.Cuda.Mex('MedianFilter',arrayIn,kernel,numIterations,device);
+    [arrayOut] = HIP.Cuda.Mex('MedianFilter',arrayIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/Mex.mexw64 b/src/MATLAB/+HIP/@Cuda/Mex.mexw64
similarity index 100%
rename from src/MATLAB/+HSP/@Cuda/Mex.mexw64
rename to src/MATLAB/+HIP/@Cuda/Mex.mexw64
diff --git a/src/MATLAB/+HSP/@Cuda/MinFilter.m b/src/MATLAB/+HIP/@Cuda/MinFilter.m
similarity index 91%
rename from src/MATLAB/+HSP/@Cuda/MinFilter.m
rename to src/MATLAB/+HIP/@Cuda/MinFilter.m
index c75f22b3ca312f4a89141b56a35e05fde31c986f..9513b840d47a9cda9812220fd87f2367f4fd3fb0 100644
--- a/src/MATLAB/+HSP/@Cuda/MinFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/MinFilter.m
@@ -1,5 +1,5 @@
 % MinFilter - This will set each pixel/voxel to the max value of the neighborhood defined by the given kernel.
-%    arrayOut = HSP.Cuda.MinFilter(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.Cuda.MinFilter(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -18,5 +18,5 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 function arrayOut = MinFilter(arrayIn,kernel,numIterations,device)
-    [arrayOut] = HSP.Cuda.Mex('MinFilter',arrayIn,kernel,numIterations,device);
+    [arrayOut] = HIP.Cuda.Mex('MinFilter',arrayIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/MinMax.m b/src/MATLAB/+HIP/@Cuda/MinMax.m
similarity index 86%
rename from src/MATLAB/+HSP/@Cuda/MinMax.m
rename to src/MATLAB/+HIP/@Cuda/MinMax.m
index 64c8299b30a9ead37a03fd64f774aa00a7b3cb4f..ee05695e338a86cfaab25fdb75f910fa3cc49178 100644
--- a/src/MATLAB/+HSP/@Cuda/MinMax.m
+++ b/src/MATLAB/+HIP/@Cuda/MinMax.m
@@ -1,5 +1,5 @@
 % MinMax - This returns the global min and max values.
-%    [minOut,maxOut] = HSP.Cuda.MinMax(arrayIn,[device])
+%    [minOut,maxOut] = HIP.Cuda.MinMax(arrayIn,[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -11,5 +11,5 @@
 %    	minOut = This is the minimum value found in the input.
 %    	maxOut = This is the maximum value found in the input.
 function [minOut,maxOut] = MinMax(arrayIn,device)
-    [minOut,maxOut] = HSP.Cuda.Mex('MinMax',arrayIn,device);
+    [minOut,maxOut] = HIP.Cuda.Mex('MinMax',arrayIn,device);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/MultiplySum.m b/src/MATLAB/+HIP/@Cuda/MultiplySum.m
similarity index 91%
rename from src/MATLAB/+HSP/@Cuda/MultiplySum.m
rename to src/MATLAB/+HIP/@Cuda/MultiplySum.m
index 825d39cdd9eeb7f99edc55ccbe2a5aed93d495d8..3499c3b5e0f5d54d3d438ae6f7560954026f1f1f 100644
--- a/src/MATLAB/+HSP/@Cuda/MultiplySum.m
+++ b/src/MATLAB/+HIP/@Cuda/MultiplySum.m
@@ -1,5 +1,5 @@
 % MultiplySum - Multiplies the kernel with the neighboring values and sums these new values.
-%    arrayOut = HSP.Cuda.MultiplySum(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.Cuda.MultiplySum(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -18,5 +18,5 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 function arrayOut = MultiplySum(arrayIn,kernel,numIterations,device)
-    [arrayOut] = HSP.Cuda.Mex('MultiplySum',arrayIn,kernel,numIterations,device);
+    [arrayOut] = HIP.Cuda.Mex('MultiplySum',arrayIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/Opener.m b/src/MATLAB/+HIP/@Cuda/Opener.m
similarity index 91%
rename from src/MATLAB/+HSP/@Cuda/Opener.m
rename to src/MATLAB/+HIP/@Cuda/Opener.m
index 88eef70bfcadb983d9aa4a33dd8d872f1351ca1e..7f53f8e84abde678255cd7e95e0baafa944bdc18 100644
--- a/src/MATLAB/+HSP/@Cuda/Opener.m
+++ b/src/MATLAB/+HIP/@Cuda/Opener.m
@@ -1,5 +1,5 @@
 % Opener - This kernel will erode follow by a dilation.
-%    arrayOut = HSP.Cuda.Opener(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.Cuda.Opener(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -18,5 +18,5 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 function arrayOut = Opener(arrayIn,kernel,numIterations,device)
-    [arrayOut] = HSP.Cuda.Mex('Opener',arrayIn,kernel,numIterations,device);
+    [arrayOut] = HIP.Cuda.Mex('Opener',arrayIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/StdFilter.m b/src/MATLAB/+HIP/@Cuda/StdFilter.m
similarity index 91%
rename from src/MATLAB/+HSP/@Cuda/StdFilter.m
rename to src/MATLAB/+HIP/@Cuda/StdFilter.m
index ee623360d7c885cb7dc7064177d7e54cfe79a733..ba66eec8535699afebf24b7c01eb71754acd792b 100644
--- a/src/MATLAB/+HSP/@Cuda/StdFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/StdFilter.m
@@ -1,5 +1,5 @@
 % StdFilter - This will take the standard deviation of the given neighborhood.
-%    arrayOut = HSP.Cuda.StdFilter(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.Cuda.StdFilter(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -18,5 +18,5 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 function arrayOut = StdFilter(arrayIn,kernel,numIterations,device)
-    [arrayOut] = HSP.Cuda.Mex('StdFilter',arrayIn,kernel,numIterations,device);
+    [arrayOut] = HIP.Cuda.Mex('StdFilter',arrayIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/Sum.m b/src/MATLAB/+HIP/@Cuda/Sum.m
similarity index 86%
rename from src/MATLAB/+HSP/@Cuda/Sum.m
rename to src/MATLAB/+HIP/@Cuda/Sum.m
index 57375afb34f503f6c84f36a3351bd9b24cc456c9..36d0e4607fa8938e8f93a4c72be9e243168dfe3b 100644
--- a/src/MATLAB/+HSP/@Cuda/Sum.m
+++ b/src/MATLAB/+HIP/@Cuda/Sum.m
@@ -1,5 +1,5 @@
 % Sum - This sums up the entire array in.
-%    valueOut = HSP.Cuda.Sum(arrayIn,[device])
+%    valueOut = HIP.Cuda.Sum(arrayIn,[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -10,5 +10,5 @@
 %    
 %    	valueOut = This is the summation of the entire array.
 function valueOut = Sum(arrayIn,device)
-    [valueOut] = HSP.Cuda.Mex('Sum',arrayIn,device);
+    [valueOut] = HIP.Cuda.Mex('Sum',arrayIn,device);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/VarFilter.m b/src/MATLAB/+HIP/@Cuda/VarFilter.m
similarity index 91%
rename from src/MATLAB/+HSP/@Cuda/VarFilter.m
rename to src/MATLAB/+HIP/@Cuda/VarFilter.m
index eac166cd82b353e3ef2ad01b50bdbab5e57f5e07..758d61d9ea780f912617a23795a74a38b2152254 100644
--- a/src/MATLAB/+HSP/@Cuda/VarFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/VarFilter.m
@@ -1,5 +1,5 @@
 % VarFilter - This will take the variance deviation of the given neighborhood.
-%    arrayOut = HSP.Cuda.VarFilter(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.Cuda.VarFilter(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -18,5 +18,5 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 function arrayOut = VarFilter(arrayIn,kernel,numIterations,device)
-    [arrayOut] = HSP.Cuda.Mex('VarFilter',arrayIn,kernel,numIterations,device);
+    [arrayOut] = HIP.Cuda.Mex('VarFilter',arrayIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HSP/@Cuda/WienerFilter.m b/src/MATLAB/+HIP/@Cuda/WienerFilter.m
similarity index 91%
rename from src/MATLAB/+HSP/@Cuda/WienerFilter.m
rename to src/MATLAB/+HIP/@Cuda/WienerFilter.m
index b77594faf6803fef9e4756ab1b7320d3141713ea..bc8ccd078eec8bd84a7cff6438e186bd4b75b78f 100644
--- a/src/MATLAB/+HSP/@Cuda/WienerFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/WienerFilter.m
@@ -1,5 +1,5 @@
 % WienerFilter - A Wiener filter aims to denoise an image in a linear fashion.
-%    arrayOut = HSP.Cuda.WienerFilter(arrayIn,[kernel],[noiseVariance],[device])
+%    arrayOut = HIP.Cuda.WienerFilter(arrayIn,[kernel],[noiseVariance],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -18,5 +18,5 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 function arrayOut = WienerFilter(arrayIn,kernel,noiseVariance,device)
-    [arrayOut] = HSP.Cuda.Mex('WienerFilter',arrayIn,kernel,noiseVariance,device);
+    [arrayOut] = HIP.Cuda.Mex('WienerFilter',arrayIn,kernel,noiseVariance,device);
 end
diff --git a/src/MATLAB/+HSP/BuildMexObject.m b/src/MATLAB/+HIP/BuildMexObject.m
similarity index 100%
rename from src/MATLAB/+HSP/BuildMexObject.m
rename to src/MATLAB/+HIP/BuildMexObject.m
diff --git a/src/MATLAB/+HSP/BuildScript.m b/src/MATLAB/+HIP/BuildScript.m
similarity index 94%
rename from src/MATLAB/+HSP/BuildScript.m
rename to src/MATLAB/+HIP/BuildScript.m
index edd89036fcba48a8ab8af520fbcc0ed0227d4783..3ae05adaf3d9d32024b174fe1aa2bb1a40525230 100644
--- a/src/MATLAB/+HSP/BuildScript.m
+++ b/src/MATLAB/+HIP/BuildScript.m
@@ -12,11 +12,11 @@ excludeList = ...
 curPath = pwd();
 
 % find where the image processing package is
-cudaPath = fileparts(which('HSP.BuildMexObject'));
+cudaPath = fileparts(which('HIP.BuildMexObject'));
 cd(cudaPath)
 
 % create the m files that correspond to the commands in the mex interface
-HSP.BuildMexObject('..\..\c\Mex.mexw64','Cuda','HSP');
+HIP.BuildMexObject('..\..\c\Mex.mexw64','Cuda','HIP');
 
 packagePath = cudaPath;
 cudaPath = fullfile(cudaPath,'@Cuda');
@@ -77,9 +77,9 @@ for i=1:length(dList)
             funcCallFilled = funcCall;
             fprintf(f,'\nfunction %s = %s(%s)\n',funcCall.out,funcCall.name,funcCall.param);
             fprintf(f,'    try\n');
-            fprintf(f,'        %s = HSP.Cuda.%s(%s);\n',funcCall.out,funcCall.name,funcCall.param);
+            fprintf(f,'        %s = HIP.Cuda.%s(%s);\n',funcCall.out,funcCall.name,funcCall.param);
             fprintf(f,'    catch errMsg\n');
-            localFuctionCall = sprintf('%s = HSP.Local.%s(%s)',funcCall.out,funcCall.name,funcCall.param);
+            localFuctionCall = sprintf('%s = HIP.Local.%s(%s)',funcCall.out,funcCall.name,funcCall.param);
             fprintf(f,'        warning(errMsg.message);\n');
             fprintf(f,'        %s;\n', localFuctionCall);
             fprintf(f,'    end\n');
@@ -136,6 +136,6 @@ for i=1:length(dList)
     end
 end
 
-fprintf('HSP BuildScript wrote %d functions\n',numFunctions);
+fprintf('HIP BuildScript wrote %d functions\n',numFunctions);
 % go back to the original directory
 cd(curPath)
diff --git a/src/MATLAB/+HSP/Closure.m b/src/MATLAB/+HIP/Closure.m
similarity index 87%
rename from src/MATLAB/+HSP/Closure.m
rename to src/MATLAB/+HIP/Closure.m
index 1b584ec153be5012cb2bf9d72c286c1551aacfa8..fe80d7b8fd176cdc70a78e65f8d2793290d52c3f 100644
--- a/src/MATLAB/+HSP/Closure.m
+++ b/src/MATLAB/+HIP/Closure.m
@@ -1,5 +1,5 @@
 % Closure - This kernel will dilate follow by an erosion.
-%    arrayOut = HSP.Closure(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.Closure(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -20,9 +20,9 @@
 
 function arrayOut = Closure(arrayIn,kernel,numIterations,device)
     try
-        arrayOut = HSP.Cuda.Closure(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Cuda.Closure(arrayIn,kernel,numIterations,device);
     catch errMsg
         warning(errMsg.message);
-        arrayOut = HSP.Local.Closure(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Local.Closure(arrayIn,kernel,numIterations,device);
     end
 end
diff --git a/src/MATLAB/+HSP/ElementWiseDifference.m b/src/MATLAB/+HIP/ElementWiseDifference.m
similarity index 85%
rename from src/MATLAB/+HSP/ElementWiseDifference.m
rename to src/MATLAB/+HIP/ElementWiseDifference.m
index 56f1fa0cc788dde6e83c08c51dc931c68d68fbe3..d8ed3e060b1bffac1e11978e74f24f8fbbbbfefc 100644
--- a/src/MATLAB/+HSP/ElementWiseDifference.m
+++ b/src/MATLAB/+HIP/ElementWiseDifference.m
@@ -1,5 +1,5 @@
 % ElementWiseDifference - This subtracts the second array from the first, element by element (A-B).
-%    arrayOut = HSP.ElementWiseDifference(array1In,array2In,[device])
+%    arrayOut = HIP.ElementWiseDifference(array1In,array2In,[device])
 %    	image1In = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -16,9 +16,9 @@
 
 function arrayOut = ElementWiseDifference(array1In,array2In,device)
     try
-        arrayOut = HSP.Cuda.ElementWiseDifference(array1In,array2In,device);
+        arrayOut = HIP.Cuda.ElementWiseDifference(array1In,array2In,device);
     catch errMsg
         warning(errMsg.message);
-        arrayOut = HSP.Local.ElementWiseDifference(array1In,array2In,device);
+        arrayOut = HIP.Local.ElementWiseDifference(array1In,array2In,device);
     end
 end
diff --git a/src/MATLAB/+HSP/EntropyFilter.m b/src/MATLAB/+HIP/EntropyFilter.m
similarity index 85%
rename from src/MATLAB/+HSP/EntropyFilter.m
rename to src/MATLAB/+HIP/EntropyFilter.m
index 34acc88cf12c1bb7e1b4f0e7f3e0ff64e425a780..600fc33e2b6adbaa38bcbdc2ec1831df70ecefc9 100644
--- a/src/MATLAB/+HSP/EntropyFilter.m
+++ b/src/MATLAB/+HIP/EntropyFilter.m
@@ -1,5 +1,5 @@
 % EntropyFilter - This calculates the entropy within the neighborhood given by the kernel.
-%    arrayOut = HSP.EntropyFilter(arrayIn,kernel,[device])
+%    arrayOut = HIP.EntropyFilter(arrayIn,kernel,[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -16,9 +16,9 @@
 
 function arrayOut = EntropyFilter(arrayIn,kernel,device)
     try
-        arrayOut = HSP.Cuda.EntropyFilter(arrayIn,kernel,device);
+        arrayOut = HIP.Cuda.EntropyFilter(arrayIn,kernel,device);
     catch errMsg
         warning(errMsg.message);
-        arrayOut = HSP.Local.EntropyFilter(arrayIn,kernel,device);
+        arrayOut = HIP.Local.EntropyFilter(arrayIn,kernel,device);
     end
 end
diff --git a/src/MATLAB/+HSP/Gaussian.m b/src/MATLAB/+HIP/Gaussian.m
similarity index 86%
rename from src/MATLAB/+HSP/Gaussian.m
rename to src/MATLAB/+HIP/Gaussian.m
index fa0687f1aad652e6cd3a3ebf2cfc028d9504e678..86cef7bb488b25c00653f88d842c558b22ddbf64 100644
--- a/src/MATLAB/+HSP/Gaussian.m
+++ b/src/MATLAB/+HIP/Gaussian.m
@@ -1,5 +1,5 @@
 % Gaussian - Gaussian smoothing.
-%    arrayOut = HSP.Gaussian(arrayIn,sigmas,[numIterations],[device])
+%    arrayOut = HIP.Gaussian(arrayIn,sigmas,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -19,9 +19,9 @@
 
 function arrayOut = Gaussian(arrayIn,sigmas,numIterations,device)
     try
-        arrayOut = HSP.Cuda.Gaussian(arrayIn,sigmas,numIterations,device);
+        arrayOut = HIP.Cuda.Gaussian(arrayIn,sigmas,numIterations,device);
     catch errMsg
         warning(errMsg.message);
-        arrayOut = HSP.Local.Gaussian(arrayIn,sigmas,numIterations,device);
+        arrayOut = HIP.Local.Gaussian(arrayIn,sigmas,numIterations,device);
     end
 end
diff --git a/src/MATLAB/+HSP/GetMinMax.m b/src/MATLAB/+HIP/GetMinMax.m
similarity index 78%
rename from src/MATLAB/+HSP/GetMinMax.m
rename to src/MATLAB/+HIP/GetMinMax.m
index a11cdafff5037ddcb6df277371d7f475c4fefd86..b50e4d9500deabb5acaa6484417d728d60001f46 100644
--- a/src/MATLAB/+HSP/GetMinMax.m
+++ b/src/MATLAB/+HIP/GetMinMax.m
@@ -1,5 +1,5 @@
 % GetMinMax - This function finds the lowest and highest value in the array that is passed in.
-%    [minValue,maxValue] = HSP.GetMinMax(arrayIn,[device])
+%    [minValue,maxValue] = HIP.GetMinMax(arrayIn,[device])
 %    	imageIn = This is a one to five dimensional array.
 %    
 %    	device (optional) = Use this if you have multiple devices and want to select one explicitly.
@@ -11,9 +11,9 @@
 
 function [minValue,maxValue] = GetMinMax(arrayIn,device)
     try
-        [minValue,maxValue] = HSP.Cuda.GetMinMax(arrayIn,device);
+        [minValue,maxValue] = HIP.Cuda.GetMinMax(arrayIn,device);
     catch errMsg
         warning(errMsg.message);
-        [minValue,maxValue] = HSP.Local.GetMinMax(arrayIn,device);
+        [minValue,maxValue] = HIP.Local.GetMinMax(arrayIn,device);
     end
 end
diff --git a/src/MATLAB/+HSP/Help.m b/src/MATLAB/+HIP/Help.m
similarity index 84%
rename from src/MATLAB/+HSP/Help.m
rename to src/MATLAB/+HIP/Help.m
index ae2f3323848941850bd9eca29f8930ab38deec3b..b2aeb1c6b850a686d407591a8b2c8d63ae95d28f 100644
--- a/src/MATLAB/+HSP/Help.m
+++ b/src/MATLAB/+HIP/Help.m
@@ -1,5 +1,5 @@
 % Help - Help on a specified command.
-%    HSP.Help(command)
+%    HIP.Help(command)
 %    Print detailed usage information for the specified command.
 function Help(command)
 end
diff --git a/src/MATLAB/+HSP/HighPassFilter.m b/src/MATLAB/+HIP/HighPassFilter.m
similarity index 84%
rename from src/MATLAB/+HSP/HighPassFilter.m
rename to src/MATLAB/+HIP/HighPassFilter.m
index f605656eb7487f14516959f9a095152f4d0b5bf5..f34c3fb9518da73fa898d0d3720b0af9272cf17b 100644
--- a/src/MATLAB/+HSP/HighPassFilter.m
+++ b/src/MATLAB/+HIP/HighPassFilter.m
@@ -1,5 +1,5 @@
 % HighPassFilter - Filters out low frequency by subtracting a Gaussian blurred version of the input based on the sigmas provided.
-%    arrayOut = HSP.HighPassFilter(arrayIn,sigmas,[device])
+%    arrayOut = HIP.HighPassFilter(arrayIn,sigmas,[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -15,9 +15,9 @@
 
 function arrayOut = HighPassFilter(arrayIn,sigmas,device)
     try
-        arrayOut = HSP.Cuda.HighPassFilter(arrayIn,sigmas,device);
+        arrayOut = HIP.Cuda.HighPassFilter(arrayIn,sigmas,device);
     catch errMsg
         warning(errMsg.message);
-        arrayOut = HSP.Local.HighPassFilter(arrayIn,sigmas,device);
+        arrayOut = HIP.Local.HighPassFilter(arrayIn,sigmas,device);
     end
 end
diff --git a/src/MATLAB/+HSP/Info.m b/src/MATLAB/+HIP/Info.m
similarity index 81%
rename from src/MATLAB/+HSP/Info.m
rename to src/MATLAB/+HIP/Info.m
index f7e53c75250541b902f670d181fc5dfeceb62de1..c73ddaad0225a2fab1fcf4f6a4b086fb804a8da7 100644
--- a/src/MATLAB/+HSP/Info.m
+++ b/src/MATLAB/+HIP/Info.m
@@ -1,5 +1,5 @@
 % Info - Get information on all available mex commands.
-%    commandInfo = HSP.Info()
+%    commandInfo = HIP.Info()
 %    Returns commandInfo structure array containing information on all mex commands.
 %       commandInfo.command - Command string
 %       commandInfo.outArgs - Cell array of output arguments
@@ -8,9 +8,9 @@
 
 function commandInfo = Info()
     try
-        commandInfo = HSP.Cuda.Info();
+        commandInfo = HIP.Cuda.Info();
     catch errMsg
         warning(errMsg.message);
-        commandInfo = HSP.Local.Info();
+        commandInfo = HIP.Local.Info();
     end
 end
diff --git a/src/MATLAB/+HSP/LoG.m b/src/MATLAB/+HIP/LoG.m
similarity index 85%
rename from src/MATLAB/+HSP/LoG.m
rename to src/MATLAB/+HIP/LoG.m
index c312a30f0b237380e4a78c6ca58f15d69ee31a37..b67f335a8c4dc22f27a212d8510bb4856261bc5a 100644
--- a/src/MATLAB/+HSP/LoG.m
+++ b/src/MATLAB/+HIP/LoG.m
@@ -1,5 +1,5 @@
 % LoG - Apply a Lapplacian of Gaussian filter with the given sigmas.
-%    arrayOut = HSP.LoG(arrayIn,sigmas,[device])
+%    arrayOut = HIP.LoG(arrayIn,sigmas,[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -15,9 +15,9 @@
 
 function arrayOut = LoG(arrayIn,sigmas,device)
     try
-        arrayOut = HSP.Cuda.LoG(arrayIn,sigmas,device);
+        arrayOut = HIP.Cuda.LoG(arrayIn,sigmas,device);
     catch errMsg
         warning(errMsg.message);
-        arrayOut = HSP.Local.LoG(arrayIn,sigmas,device);
+        arrayOut = HIP.Local.LoG(arrayIn,sigmas,device);
     end
 end
diff --git a/src/MATLAB/+HSP/MakeBallMask.m b/src/MATLAB/+HIP/MakeBallMask.m
similarity index 100%
rename from src/MATLAB/+HSP/MakeBallMask.m
rename to src/MATLAB/+HIP/MakeBallMask.m
diff --git a/src/MATLAB/+HSP/MakeEllipsoidMask.m b/src/MATLAB/+HIP/MakeEllipsoidMask.m
similarity index 100%
rename from src/MATLAB/+HSP/MakeEllipsoidMask.m
rename to src/MATLAB/+HIP/MakeEllipsoidMask.m
diff --git a/src/MATLAB/+HSP/MaxFilter.m b/src/MATLAB/+HIP/MaxFilter.m
similarity index 88%
rename from src/MATLAB/+HSP/MaxFilter.m
rename to src/MATLAB/+HIP/MaxFilter.m
index 316779716dd802f2c73319d8a183149082387819..6c4a71b8be91af797f8d008d45a0c284d564de78 100644
--- a/src/MATLAB/+HSP/MaxFilter.m
+++ b/src/MATLAB/+HIP/MaxFilter.m
@@ -1,5 +1,5 @@
 % MaxFilter - This will set each pixel/voxel to the max value of the neighborhood defined by the given kernel.
-%    arrayOut = HSP.MaxFilter(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.MaxFilter(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -20,9 +20,9 @@
 
 function arrayOut = MaxFilter(arrayIn,kernel,numIterations,device)
     try
-        arrayOut = HSP.Cuda.MaxFilter(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Cuda.MaxFilter(arrayIn,kernel,numIterations,device);
     catch errMsg
         warning(errMsg.message);
-        arrayOut = HSP.Local.MaxFilter(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Local.MaxFilter(arrayIn,kernel,numIterations,device);
     end
 end
diff --git a/src/MATLAB/+HSP/MeanFilter.m b/src/MATLAB/+HIP/MeanFilter.m
similarity index 88%
rename from src/MATLAB/+HSP/MeanFilter.m
rename to src/MATLAB/+HIP/MeanFilter.m
index a2cd7c49357de1706ae021bef801159e56c8b869..ffb7569f76b6ff53cd4fd1fd54fbde3985a43fec 100644
--- a/src/MATLAB/+HSP/MeanFilter.m
+++ b/src/MATLAB/+HIP/MeanFilter.m
@@ -1,5 +1,5 @@
 % MeanFilter - This will take the mean of the given neighborhood.
-%    arrayOut = HSP.MeanFilter(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.MeanFilter(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -20,9 +20,9 @@
 
 function arrayOut = MeanFilter(arrayIn,kernel,numIterations,device)
     try
-        arrayOut = HSP.Cuda.MeanFilter(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Cuda.MeanFilter(arrayIn,kernel,numIterations,device);
     catch errMsg
         warning(errMsg.message);
-        arrayOut = HSP.Local.MeanFilter(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Local.MeanFilter(arrayIn,kernel,numIterations,device);
     end
 end
diff --git a/src/MATLAB/+HSP/MedianFilter.m b/src/MATLAB/+HIP/MedianFilter.m
similarity index 88%
rename from src/MATLAB/+HSP/MedianFilter.m
rename to src/MATLAB/+HIP/MedianFilter.m
index 2abfdf8696a199d8fd72aa5c4d0f0352889f306b..73209ee3fc1c73cf941b54ed4824b770632be19b 100644
--- a/src/MATLAB/+HSP/MedianFilter.m
+++ b/src/MATLAB/+HIP/MedianFilter.m
@@ -1,5 +1,5 @@
 % MedianFilter - This will calculate the median for each neighborhood defined by the kernel.
-%    arrayOut = HSP.MedianFilter(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.MedianFilter(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -20,9 +20,9 @@
 
 function arrayOut = MedianFilter(arrayIn,kernel,numIterations,device)
     try
-        arrayOut = HSP.Cuda.MedianFilter(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Cuda.MedianFilter(arrayIn,kernel,numIterations,device);
     catch errMsg
         warning(errMsg.message);
-        arrayOut = HSP.Local.MedianFilter(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Local.MedianFilter(arrayIn,kernel,numIterations,device);
     end
 end
diff --git a/src/MATLAB/+HSP/MinFilter.m b/src/MATLAB/+HIP/MinFilter.m
similarity index 88%
rename from src/MATLAB/+HSP/MinFilter.m
rename to src/MATLAB/+HIP/MinFilter.m
index 71f93884ef0c3efe32636dce1f2a86c3cd067462..6d720660e65a986bd40957fb3ee0350a20f9948e 100644
--- a/src/MATLAB/+HSP/MinFilter.m
+++ b/src/MATLAB/+HIP/MinFilter.m
@@ -1,5 +1,5 @@
 % MinFilter - This will set each pixel/voxel to the max value of the neighborhood defined by the given kernel.
-%    arrayOut = HSP.MinFilter(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.MinFilter(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -20,9 +20,9 @@
 
 function arrayOut = MinFilter(arrayIn,kernel,numIterations,device)
     try
-        arrayOut = HSP.Cuda.MinFilter(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Cuda.MinFilter(arrayIn,kernel,numIterations,device);
     catch errMsg
         warning(errMsg.message);
-        arrayOut = HSP.Local.MinFilter(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Local.MinFilter(arrayIn,kernel,numIterations,device);
     end
 end
diff --git a/src/MATLAB/+HSP/MinMax.m b/src/MATLAB/+HIP/MinMax.m
similarity index 82%
rename from src/MATLAB/+HSP/MinMax.m
rename to src/MATLAB/+HIP/MinMax.m
index ea54ecd88281a7cf11d804680729588a11976838..bc3888e09d65816c170f4fec5d9a3bcdc60637ef 100644
--- a/src/MATLAB/+HSP/MinMax.m
+++ b/src/MATLAB/+HIP/MinMax.m
@@ -1,5 +1,5 @@
 % MinMax - This returns the global min and max values.
-%    [minOut,maxOut] = HSP.MinMax(arrayIn,[device])
+%    [minOut,maxOut] = HIP.MinMax(arrayIn,[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -13,9 +13,9 @@
 
 function [minOut,maxOut] = MinMax(arrayIn,device)
     try
-        [minOut,maxOut] = HSP.Cuda.MinMax(arrayIn,device);
+        [minOut,maxOut] = HIP.Cuda.MinMax(arrayIn,device);
     catch errMsg
         warning(errMsg.message);
-        [minOut,maxOut] = HSP.Local.MinMax(arrayIn,device);
+        [minOut,maxOut] = HIP.Local.MinMax(arrayIn,device);
     end
 end
diff --git a/src/MATLAB/+HSP/MultiplySum.m b/src/MATLAB/+HIP/MultiplySum.m
similarity index 88%
rename from src/MATLAB/+HSP/MultiplySum.m
rename to src/MATLAB/+HIP/MultiplySum.m
index 4ad5ba28d1515b0af49e0bdd1869a66a82470dce..caa315510d390ee656f00fd73c298e9ac33d075a 100644
--- a/src/MATLAB/+HSP/MultiplySum.m
+++ b/src/MATLAB/+HIP/MultiplySum.m
@@ -1,5 +1,5 @@
 % MultiplySum - Multiplies the kernel with the neighboring values and sums these new values.
-%    arrayOut = HSP.MultiplySum(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.MultiplySum(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -20,9 +20,9 @@
 
 function arrayOut = MultiplySum(arrayIn,kernel,numIterations,device)
     try
-        arrayOut = HSP.Cuda.MultiplySum(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Cuda.MultiplySum(arrayIn,kernel,numIterations,device);
     catch errMsg
         warning(errMsg.message);
-        arrayOut = HSP.Local.MultiplySum(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Local.MultiplySum(arrayIn,kernel,numIterations,device);
     end
 end
diff --git a/src/MATLAB/+HSP/Opener.m b/src/MATLAB/+HIP/Opener.m
similarity index 87%
rename from src/MATLAB/+HSP/Opener.m
rename to src/MATLAB/+HIP/Opener.m
index 601475a312d5d9787397962881f57ecd547bc639..2246b8a3aa7800cb93e790fce77784abf9d79767 100644
--- a/src/MATLAB/+HSP/Opener.m
+++ b/src/MATLAB/+HIP/Opener.m
@@ -1,5 +1,5 @@
 % Opener - This kernel will erode follow by a dilation.
-%    arrayOut = HSP.Opener(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.Opener(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -20,9 +20,9 @@
 
 function arrayOut = Opener(arrayIn,kernel,numIterations,device)
     try
-        arrayOut = HSP.Cuda.Opener(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Cuda.Opener(arrayIn,kernel,numIterations,device);
     catch errMsg
         warning(errMsg.message);
-        arrayOut = HSP.Local.Opener(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Local.Opener(arrayIn,kernel,numIterations,device);
     end
 end
diff --git a/src/MATLAB/+HSP/StdFilter.m b/src/MATLAB/+HIP/StdFilter.m
similarity index 88%
rename from src/MATLAB/+HSP/StdFilter.m
rename to src/MATLAB/+HIP/StdFilter.m
index 8ce91ad293fba6f976a592a5b387b4bd8048c74c..46360e6acf2f6c2ca3e622ba4f18305e4a4f6ff0 100644
--- a/src/MATLAB/+HSP/StdFilter.m
+++ b/src/MATLAB/+HIP/StdFilter.m
@@ -1,5 +1,5 @@
 % StdFilter - This will take the standard deviation of the given neighborhood.
-%    arrayOut = HSP.StdFilter(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.StdFilter(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -20,9 +20,9 @@
 
 function arrayOut = StdFilter(arrayIn,kernel,numIterations,device)
     try
-        arrayOut = HSP.Cuda.StdFilter(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Cuda.StdFilter(arrayIn,kernel,numIterations,device);
     catch errMsg
         warning(errMsg.message);
-        arrayOut = HSP.Local.StdFilter(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Local.StdFilter(arrayIn,kernel,numIterations,device);
     end
 end
diff --git a/src/MATLAB/+HSP/Sum.m b/src/MATLAB/+HIP/Sum.m
similarity index 83%
rename from src/MATLAB/+HSP/Sum.m
rename to src/MATLAB/+HIP/Sum.m
index eb1393468de3e40a6f3de5a854fb8588afc8d1e4..35296914936c9d01c61cea9a8f1db68daf07d53b 100644
--- a/src/MATLAB/+HSP/Sum.m
+++ b/src/MATLAB/+HIP/Sum.m
@@ -1,5 +1,5 @@
 % Sum - This sums up the entire array in.
-%    valueOut = HSP.Sum(arrayIn,[device])
+%    valueOut = HIP.Sum(arrayIn,[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -12,9 +12,9 @@
 
 function valueOut = Sum(arrayIn,device)
     try
-        valueOut = HSP.Cuda.Sum(arrayIn,device);
+        valueOut = HIP.Cuda.Sum(arrayIn,device);
     catch errMsg
         warning(errMsg.message);
-        valueOut = HSP.Local.Sum(arrayIn,device);
+        valueOut = HIP.Local.Sum(arrayIn,device);
     end
 end
diff --git a/src/MATLAB/+HSP/VarFilter.m b/src/MATLAB/+HIP/VarFilter.m
similarity index 88%
rename from src/MATLAB/+HSP/VarFilter.m
rename to src/MATLAB/+HIP/VarFilter.m
index e830acba8d26ac3c531f56bc9ebf13dc468a3557..738cdbceaad4662b30cb2791e4d0b9164dcd4349 100644
--- a/src/MATLAB/+HSP/VarFilter.m
+++ b/src/MATLAB/+HIP/VarFilter.m
@@ -1,5 +1,5 @@
 % VarFilter - This will take the variance deviation of the given neighborhood.
-%    arrayOut = HSP.VarFilter(arrayIn,kernel,[numIterations],[device])
+%    arrayOut = HIP.VarFilter(arrayIn,kernel,[numIterations],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -20,9 +20,9 @@
 
 function arrayOut = VarFilter(arrayIn,kernel,numIterations,device)
     try
-        arrayOut = HSP.Cuda.VarFilter(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Cuda.VarFilter(arrayIn,kernel,numIterations,device);
     catch errMsg
         warning(errMsg.message);
-        arrayOut = HSP.Local.VarFilter(arrayIn,kernel,numIterations,device);
+        arrayOut = HIP.Local.VarFilter(arrayIn,kernel,numIterations,device);
     end
 end
diff --git a/src/MATLAB/+HSP/WienerFilter.m b/src/MATLAB/+HIP/WienerFilter.m
similarity index 88%
rename from src/MATLAB/+HSP/WienerFilter.m
rename to src/MATLAB/+HIP/WienerFilter.m
index 05da2849b634694601a133c9b00382df57dc36a0..da0a60727b221d891d629830c613a606326293e6 100644
--- a/src/MATLAB/+HSP/WienerFilter.m
+++ b/src/MATLAB/+HIP/WienerFilter.m
@@ -1,5 +1,5 @@
 % WienerFilter - A Wiener filter aims to denoise an image in a linear fashion.
-%    arrayOut = HSP.WienerFilter(arrayIn,[kernel],[noiseVariance],[device])
+%    arrayOut = HIP.WienerFilter(arrayIn,[kernel],[noiseVariance],[device])
 %    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
 %    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
 %    		how to stride or jump to the next spatial block.
@@ -20,9 +20,9 @@
 
 function arrayOut = WienerFilter(arrayIn,kernel,noiseVariance,device)
     try
-        arrayOut = HSP.Cuda.WienerFilter(arrayIn,kernel,noiseVariance,device);
+        arrayOut = HIP.Cuda.WienerFilter(arrayIn,kernel,noiseVariance,device);
     catch errMsg
         warning(errMsg.message);
-        arrayOut = HSP.Local.WienerFilter(arrayIn,kernel,noiseVariance,device);
+        arrayOut = HIP.Local.WienerFilter(arrayIn,kernel,noiseVariance,device);
     end
 end
diff --git a/src/MATLAB/+Performance/AddConstant.m b/src/MATLAB/+Performance/AddConstant.m
index e5087dfb4880b1cbd74b85c5b1b70d27e349185d..90bcfa37e8d3f23ed4c74c343f49d4357eb36200 100644
--- a/src/MATLAB/+Performance/AddConstant.m
+++ b/src/MATLAB/+Performance/AddConstant.m
@@ -1,10 +1,10 @@
 function [cTime,mTime,kernelName] = AddConstant(im,additive)
     kernelName = 'AddConstant';
     cT = tic;
-    imC = HSP.AddConstant(im,additive);
+    imC = HIP.AddConstant(im,additive);
     cTime = toc(cT);
 
     mT = tic;
-    imM = HSP.AddConstant(im,additive,true);
+    imM = HIP.AddConstant(im,additive,true);
     mTime = toc(mT);
 end
diff --git a/src/MATLAB/+Performance/AddImageWith.m b/src/MATLAB/+Performance/AddImageWith.m
index ad4ef8bd94862cfd88b3314ed57d3aff25e69eb6..4d29efdb431f9712f517fdfcf649b773d6338b87 100644
--- a/src/MATLAB/+Performance/AddImageWith.m
+++ b/src/MATLAB/+Performance/AddImageWith.m
@@ -1,10 +1,10 @@
 function [cTime,mTime,kernelName] = AddImageWith(im)
     kernelName = 'AddImageWith';
     cT = tic;
-    imC = HSP.AddImageWith(im,im,2);
+    imC = HIP.AddImageWith(im,im,2);
     cTime = toc(cT);
 
     mT = tic;
-    imM = HSP.AddImageWith(im,im,2,true);
+    imM = HIP.AddImageWith(im,im,2,true);
     mTime = toc(mT);
 end
diff --git a/src/MATLAB/+Performance/Closure.m b/src/MATLAB/+Performance/Closure.m
index 1b0d17a4fab805bac98eff55afa7e5d252dcd7ff..555e6e6564fc114d6946ece66f24d64e01c83728 100644
--- a/src/MATLAB/+Performance/Closure.m
+++ b/src/MATLAB/+Performance/Closure.m
@@ -2,16 +2,16 @@ function [cTime,mTime,kernelName,c2Time] = Closure(im,kernel,numDevices)
     kernelName = 'Closure';
     
     cT = tic;
-    imC = HSP.Closure(im,kernel,[],1);
+    imC = HIP.Closure(im,kernel,[],1);
     cTime = toc(cT);
 
     mT = tic;
-    imM = HSP.Local.Closure(im,kernel,[],[],true);
+    imM = HIP.Local.Closure(im,kernel,[],[],true);
     mTime = toc(mT);
     
     if (numDevices>1)
         c2T = tic;
-        imC = HSP.Closure(im,kernel,[],[]);
+        imC = HIP.Closure(im,kernel,[],[]);
         c2Time = toc(c2T);
     else
         c2Time = inf;
diff --git a/src/MATLAB/+Performance/ClosureGraph.m b/src/MATLAB/+Performance/ClosureGraph.m
index 9b1a0d114627617c493188d2d495411cb32b3dfb..785da4ab44997fd1f78faa6fa89ef49da9c2ffbb 100644
--- a/src/MATLAB/+Performance/ClosureGraph.m
+++ b/src/MATLAB/+Performance/ClosureGraph.m
@@ -10,7 +10,7 @@ function times = ClosureGraph(sizes_rc,sizeItter,types,typeItter,numTrials,numDe
     kernel = ones(5,5,3);
     m = memory;
     cpu_memAvail = m.MemAvailableAllArrays/4;
-    m = HSP.Cuda.DeviceStats;
+    m = HIP.Cuda.DeviceStats;
     gpu_memAvail = max(m.totalMem);
     
     for i = sizeItter
diff --git a/src/MATLAB/+Performance/EntropyFilter.m b/src/MATLAB/+Performance/EntropyFilter.m
index d51625defafd53121b876b15f4f7cd86801feae3..bd4d75eead58e3db6adb69788770e20082293eb7 100644
--- a/src/MATLAB/+Performance/EntropyFilter.m
+++ b/src/MATLAB/+Performance/EntropyFilter.m
@@ -1,10 +1,10 @@
 function [cTime,mTime,kernelName] = EntropyFilter(im,nhood)
     kernelName = 'EntropyFilter';
     cT = tic;
-    imC = HSP.EntropyFilter(im,ones(nhood));
+    imC = HIP.EntropyFilter(im,ones(nhood));
     cTime = toc(cT);
 
     mT = tic;
-    imM = HSP.EntropyFilter(im,ones(nhood),true);
+    imM = HIP.EntropyFilter(im,ones(nhood),true);
     mTime = toc(mT);
 end
diff --git a/src/MATLAB/+Performance/GaussianFilter.m b/src/MATLAB/+Performance/GaussianFilter.m
index 4f63412d3ce8c3c5fd7a90a0d7f2c7339572d355..b3367e63c81c38ab0fc7b88c9af0b01657fe2f11 100644
--- a/src/MATLAB/+Performance/GaussianFilter.m
+++ b/src/MATLAB/+Performance/GaussianFilter.m
@@ -2,16 +2,16 @@ function [cTime,mTime,kernelName,c2Time] = GaussianFilter(im,sigma,numDevices)
     kernelName = 'GaussianFilter';
     
     cT = tic;
-    imC = HSP.Gaussian(im,sigma,[],1);
+    imC = HIP.Gaussian(im,sigma,[],1);
     cTime = toc(cT);
 
     mT = tic;
-    imM = HSP.Local.Gaussian(im,sigma,[],[],true);
+    imM = HIP.Local.Gaussian(im,sigma,[],[],true);
     mTime = toc(mT);
     
     if (numDevices>1)
         c2T = tic;
-        imC = HSP.Gaussian(im,sigma,[],[]);
+        imC = HIP.Gaussian(im,sigma,[],[]);
         c2Time = toc(c2T);
     else
         c2Time = inf;
diff --git a/src/MATLAB/+Performance/GaussianFilterGraph.m b/src/MATLAB/+Performance/GaussianFilterGraph.m
index 512a3775d66a0cd01e3d0ed05b395af5161c9047..3f775f5dd487b93f280ad6d9533b8ec443adec6d 100644
--- a/src/MATLAB/+Performance/GaussianFilterGraph.m
+++ b/src/MATLAB/+Performance/GaussianFilterGraph.m
@@ -10,7 +10,7 @@ function times = GaussianFilterGraph(sizes_rc,sizeItter,types,typeItter,numTrial
 
     m = memory;
     cpu_memAvail = m.MemAvailableAllArrays/4;
-    m = HSP.Cuda.DeviceStats;
+    m = HIP.Cuda.DeviceStats;
     gpu_memAvail = max(m.totalMem);
     
     for i = sizeItter
diff --git a/src/MATLAB/+Performance/HighPassFilter.m b/src/MATLAB/+Performance/HighPassFilter.m
index d45db3ae16fb07d4cd07ef607c4462ed54c1d48a..e69189ecffed96bc029158ce1075aea005073220 100644
--- a/src/MATLAB/+Performance/HighPassFilter.m
+++ b/src/MATLAB/+Performance/HighPassFilter.m
@@ -2,16 +2,16 @@ function [cTime,mTime,kernelName,c2Time] = HighPassFilter(im,gauss,numDevices)
     kernelName = 'Contrast Enhancement';
     
     cT = tic;
-    imC = HSP.HighPassFilter(im,gauss,1);
+    imC = HIP.HighPassFilter(im,gauss,1);
     cTime = toc(cT);
 
     mT = tic;
-    imM = HSP.Local.HighPassFilter(im,gauss,[],true);
+    imM = HIP.Local.HighPassFilter(im,gauss,[],true);
     mTime = toc(mT);
 
     if (numDevices>1)
         c2T = tic;
-        imC = HSP.HighPassFilter(im,gauss,[]);
+        imC = HIP.HighPassFilter(im,gauss,[]);
         c2Time = toc(c2T);
     else
         c2Time = inf;
diff --git a/src/MATLAB/+Performance/HighPassFilterGraph.m b/src/MATLAB/+Performance/HighPassFilterGraph.m
index bbaf15d2108edbd0d72fc6ba063b2616430601b5..5b11b93db6b50e175e336dee1e883e354640c7d1 100644
--- a/src/MATLAB/+Performance/HighPassFilterGraph.m
+++ b/src/MATLAB/+Performance/HighPassFilterGraph.m
@@ -10,7 +10,7 @@ function times = HighPassFilterGraph(sizes_rc,sizeItter,types,typeItter,numTrial
     
     m = memory;
     cpu_memAvail = m.MemAvailableAllArrays/4;
-    m = HSP.Cuda.DeviceStats;
+    m = HIP.Cuda.DeviceStats;
     gpu_memAvail = max(m.totalMem);
     
     for i = sizeItter
diff --git a/src/MATLAB/+Performance/MaxFilter.m b/src/MATLAB/+Performance/MaxFilter.m
index 3c2fb30aa78ea08cbdd771673a678209a74c45a0..d75d7819739dfdc40b60f34397f283e6299333a9 100644
--- a/src/MATLAB/+Performance/MaxFilter.m
+++ b/src/MATLAB/+Performance/MaxFilter.m
@@ -2,18 +2,18 @@ function [cTime,mTime,kernelName,c2Time] = MaxFilter(im,kernel,numDevices)
     kernelName = 'MaxFilter';
     
     cT = tic;
-    imC = HSP.MaxFilter(im,kernel,[],1);
+    imC = HIP.MaxFilter(im,kernel,[],1);
     cTime = toc(cT);
     clear imC
 
     mT = tic;
-    imM = HSP.Local.MaxFilter(im,kernel,[],[],true);
+    imM = HIP.Local.MaxFilter(im,kernel,[],[],true);
     mTime = toc(mT);
     clear imM
     
     if (numDevices>1)
         c2T = tic;
-        imC = HSP.MaxFilter(im,kernel,[],[]);
+        imC = HIP.MaxFilter(im,kernel,[],[]);
         c2Time = toc(c2T);
     else
         c2Time = inf;
diff --git a/src/MATLAB/+Performance/MaxFilterGraph.m b/src/MATLAB/+Performance/MaxFilterGraph.m
index c2f8702b089aa5cc9ece06d52e9b84701a3c977b..f20c95618a022ba70885eda97466473b1b51e2a6 100644
--- a/src/MATLAB/+Performance/MaxFilterGraph.m
+++ b/src/MATLAB/+Performance/MaxFilterGraph.m
@@ -10,7 +10,7 @@ function times = MaxFilterGraph(sizes_rc,sizeItter,types,typeItter,numTrials,num
     kernel = ones(5,5,3);
     m = memory;
     cpu_memAvail = m.MemAvailableAllArrays/4;
-    m = HSP.Cuda.DeviceStats;
+    m = HIP.Cuda.DeviceStats;
     gpu_memAvail = max(m.totalMem);
     
     for i = sizeItter
diff --git a/src/MATLAB/+Performance/MeanFilter.m b/src/MATLAB/+Performance/MeanFilter.m
index 893376d596bb9d8fbf8ee4020b145a55d2fc3b77..775ba115cc694a90e5062e52ebe55937f323b431 100644
--- a/src/MATLAB/+Performance/MeanFilter.m
+++ b/src/MATLAB/+Performance/MeanFilter.m
@@ -2,16 +2,16 @@ function [cTime,mTime,kernelName,c2Time] = MeanFilter(im,nhood,numDevices)
     kernelName = 'MeanFilter';
     
     cT = tic;
-    imC = HSP.MeanFilter(im,nhood,[],1);
+    imC = HIP.MeanFilter(im,nhood,[],1);
     cTime = toc(cT);
 
     mT = tic;
-    imM = HSP.Local.MeanFilter(im,nhood,[],[],true);
+    imM = HIP.Local.MeanFilter(im,nhood,[],[],true);
     mTime = toc(mT);
     
     if (numDevices>1)
         c2T = tic;
-        imC = HSP.MeanFilter(im,nhood,[],[]);
+        imC = HIP.MeanFilter(im,nhood,[],[]);
         c2Time = toc(c2T);
     else
         c2Time = inf;
diff --git a/src/MATLAB/+Performance/MeanFilterGraph.m b/src/MATLAB/+Performance/MeanFilterGraph.m
index 39f763512956ce441307c80865d85020ca97f31d..669adb75651192de9c5b43e8ebfc810fb1fd32c9 100644
--- a/src/MATLAB/+Performance/MeanFilterGraph.m
+++ b/src/MATLAB/+Performance/MeanFilterGraph.m
@@ -10,7 +10,7 @@ function times = MeanFilterGraph(sizes_rc,sizeItter,types,typeItter,numTrials,nu
     kernel = ones(5,5,3,'single');
     m = memory;
     cpu_memAvail = m.MemAvailableAllArrays/4;
-    m = HSP.Cuda.DeviceStats;
+    m = HIP.Cuda.DeviceStats;
     gpu_memAvail = max(m.totalMem);
     
     for i = sizeItter
diff --git a/src/MATLAB/+Performance/MedianFilter.m b/src/MATLAB/+Performance/MedianFilter.m
index c087b7c077e379883f3289794949be49ad3fc94e..6604f53ff870697294ce5ce27531b0d71ea2ce35 100644
--- a/src/MATLAB/+Performance/MedianFilter.m
+++ b/src/MATLAB/+Performance/MedianFilter.m
@@ -2,16 +2,16 @@ function [cTime,mTime,kernelName,c2Time] = MedianFilter(im,nhood,numDevices)
     kernelName = 'MedianFilter';
     
     cT = tic;
-    imC = HSP.MedianFilter(im,nhood,[],1);
+    imC = HIP.MedianFilter(im,nhood,[],1);
     cTime = toc(cT);
     
     mT = tic;
-    imM = HSP.Local.MedianFilter(im,nhood,[],[],true);
+    imM = HIP.Local.MedianFilter(im,nhood,[],[],true);
     mTime = toc(mT);
     
     if (numDevices>1)
         c2T = tic;
-        imC = HSP.MedianFilter(im,nhood,[],[]);
+        imC = HIP.MedianFilter(im,nhood,[],[]);
         c2Time = toc(c2T);
     else
         c2Time = inf;
diff --git a/src/MATLAB/+Performance/MedianFilterGraph.m b/src/MATLAB/+Performance/MedianFilterGraph.m
index 7ef6f5b40c99811eeebed022b44fbd5765f6dca4..9a70da493ad8c650f58269e78ec95d3dd7ef223e 100644
--- a/src/MATLAB/+Performance/MedianFilterGraph.m
+++ b/src/MATLAB/+Performance/MedianFilterGraph.m
@@ -10,7 +10,7 @@ function times = MedianFilterGraph(sizes_rc,sizeItter,types,typeItter,numTrials,
     kernel = ones(5,5,3,'single');
     m = memory;
     cpu_memAvail = m.MemAvailableAllArrays/4;
-    m = HSP.Cuda.DeviceStats;
+    m = HIP.Cuda.DeviceStats;
     gpu_memAvail = max(m.totalMem);
     
     for i = sizeItter
diff --git a/src/MATLAB/+Performance/RunTiming.m b/src/MATLAB/+Performance/RunTiming.m
index eb2d54fa55a8137e276e5134bf7789d120a8554c..ec17a8aa89c45de36d294b75253f182015857ca5 100644
--- a/src/MATLAB/+Performance/RunTiming.m
+++ b/src/MATLAB/+Performance/RunTiming.m
@@ -1,9 +1,9 @@
-HSP.BuildScript;
+HIP.BuildScript;
 
 %%
 numTrials = 2;
 
-numDevices = HSP.Cuda.DeviceCount();
+numDevices = HIP.Cuda.DeviceCount();
 sizes_rc = [...
     0512,0512,1,1,1; % single small images
     1024,1024,1,1,1; % single medium image 
@@ -17,7 +17,8 @@ sizes_rc = [...
 
 sizeItter = size(sizes_rc,1):-1:1;
 %sizeItter = 1:size(sizes_rc,1);
-types = {'uint8';'uint16';'single';'double'};
+%types = {'uint8';'uint16';'single';'double'};
+types = {'unit16'};
 typeItter = size(types,1):-1:1;
 %typeItter = 1:size(types,1);
 
@@ -54,8 +55,8 @@ end
 hpTimes = Performance.HighPassFilterGraph(sizes_rc,sizeItterSm,types,typeItter,numTrials,numDevices);
 
 %% Save out results
-temp = what('HSP');
-HSPPath = temp.path;
+temp = what('HIP');
+HIPPath = temp.path;
 compName = getenv('computername');
 
-save(fullfile(HSPPath,[compName,'.mat']),'maxTimes','closeTimes','meanTimes','medTimes','stdTimes','medTimes','gaussTimes','hpTimes');
+save(fullfile(HIPPath,[compName,'.mat']),'maxTimes','closeTimes','meanTimes','medTimes','stdTimes','medTimes','gaussTimes','hpTimes');
diff --git a/src/MATLAB/+Performance/StdFilter.m b/src/MATLAB/+Performance/StdFilter.m
index 10936ab105977fda4f224d47f0cf772e06db5d1e..dabdd6b32eef7e8c5999e5f7ceb27435eabfcce8 100644
--- a/src/MATLAB/+Performance/StdFilter.m
+++ b/src/MATLAB/+Performance/StdFilter.m
@@ -2,16 +2,16 @@ function [cTime,mTime,kernelName,c2Time] = StdFilter(im,nhood,numDevices)
     kernelName = 'StdFilter';
     
     cT = tic;
-    imC = HSP.StdFilter(im,nhood,[],1);
+    imC = HIP.StdFilter(im,nhood,[],1);
     cTime = toc(cT);
 
     mT = tic;
-    imM = HSP.Local.StdFilter(im,nhood,[],[],true);
+    imM = HIP.Local.StdFilter(im,nhood,[],[],true);
     mTime = toc(mT);
     
     if (numDevices>1)
         c2T = tic;
-        imC = HSP.StdFilter(im,nhood,[],[]);
+        imC = HIP.StdFilter(im,nhood,[],[]);
         c2Time = toc(c2T);
     else
         c2Time = inf;
diff --git a/src/MATLAB/+Performance/StdFilterGraph.m b/src/MATLAB/+Performance/StdFilterGraph.m
index 3cbddc7f412f9176bcc3cddc8f334e7e1ead415f..782ede5ccaf95d506f2cc2bcb7ba258be0feeabe 100644
--- a/src/MATLAB/+Performance/StdFilterGraph.m
+++ b/src/MATLAB/+Performance/StdFilterGraph.m
@@ -10,7 +10,7 @@ function times = StdFilterGraph(sizes_rc,sizeItter,types,typeItter,numTrials,num
     kernel = ones(5,5,3);
     m = memory;
     cpu_memAvail = m.MemAvailableAllArrays/4;
-    m = HSP.Cuda.DeviceStats;
+    m = HIP.Cuda.DeviceStats;
     gpu_memAvail = max(m.totalMem);
     
     for i = sizeItter
diff --git a/src/MATLAB/+Performance/SumArray.m b/src/MATLAB/+Performance/SumArray.m
index ca8556843f5f6bd3ba02bca5f1ae9f9760f88869..b710a82c72a97c2d78aa40360d50bcd9db2c9fd3 100644
--- a/src/MATLAB/+Performance/SumArray.m
+++ b/src/MATLAB/+Performance/SumArray.m
@@ -1,10 +1,10 @@
 function [cTime,mTime,kernelName] = SumArray(im)
     kernelName = 'SumArray';
     cT = tic;
-    imC = HSP.SumArray(im);
+    imC = HIP.SumArray(im);
     cTime = toc(cT);
 
     mT = tic;
-    imM = HSP.SumArray(im,true);
+    imM = HIP.SumArray(im,true);
     mTime = toc(mT);
 end
diff --git a/src/MATLAB/template.m b/src/MATLAB/template.m
index bc9dfb25a215c067c9a16a98bb133eb4bbce4e62..f39c38e1b97abdc03a5658fa7240aeddd9b19c4d 100644
--- a/src/MATLAB/template.m
+++ b/src/MATLAB/template.m
@@ -1,10 +1,10 @@
 function [cTime,mTime,kernelName] = (im,)
     kernelName = '';
     cT = tic;
-    imC = HSP.(im,);
+    imC = HIP.(im,);
     cTime = toc(cT);
 
     mT = tic;
-    imM = HSP.(im,,true);
+    imM = HIP.(im,,true);
     mTime = toc(mT);
 end