def load_data_smoothed(filename, matrixID):
    profileName = os.path.abspath(filename)
    frameManager = framemanager_python.FrameManagerWrapper()
    frameManager.load_profile(profileName);
    #frameManager.set_filter_none()
    #frameManager.set_filter_median(1, False)
    frameManager.set_filter_gaussian(1, 0.85)
    #frameManager.set_filter_bilateral(2, 1500, 1500)
    
    #y = frameManager.get_max_matrix_list(matrixID)
    y = frameManager.get_average_matrix_list(matrixID)

    # Value of centroid taxel
    #featureExtractor = framemanager_python.FeatureExtractionWrapper(frameManager)
    #numFrames = frameManager.get_tsframe_count()
    #y = np.empty([numFrames])
    #for frameID in range(0,numFrames):
    #    centroid = np.rint(featureExtractor.compute_centroid(frameID, matrixID)).astype(int)
    #    y[frameID] = frameManager.get_texel(frameID, matrixID, centroid[0], centroid[1])
    
    # Median of nonzero values
    #numFrames = frameManager.get_tsframe_count()
    #y = np.empty([numFrames])
    #for frameID in range(0,numFrames):
    #    tsframe = frameManager.get_tsframe(frameID, matrixID)
    #    tsframe_nonzero = np.ma.masked_where(tsframe == 0, tsframe) # Restrict to nonzero values
    #    median = np.ma.median(tsframe_nonzero)
    #    y[frameID] = np.nan_to_num(median) # NaN to 0
    
    timestamps = frameManager.get_tsframe_timestamp_list()
    timestamps = (timestamps-timestamps[0]) / 1000.0 # Relative timestamps in seconds
    return timestamps, y
def load_data(filename, matrixID):
    frameManager = framemanager_python.FrameManagerWrapper()
    frameManager.load_profile(filename);
    averages = frameManager.get_average_matrix_list(matrixID)
    timestamps = frameManager.get_tsframe_timestamp_list()
    timestamps = (timestamps-timestamps[0]) / 1000.0 # Relative timestamps in seconds
    return timestamps, averages
def loadGrasp(profileName):
   frameManager = framemanager_python.FrameManagerWrapper()
   features = framemanager_python.FeatureExtractionWrapper(frameManager)
   frameManager.load_profile(profileName);

   ########################
   # Tactile Sensor Frames
   ########################
   numTSFrames = frameManager.get_tsframe_count();
   max_matrix_1 = frameManager.get_max_matrix_list(1)
   max_matrix_5 = frameManager.get_max_matrix_list(5)
   timestamps_tsframe_raw = frameManager.get_tsframe_timestamp_list()
   timestamps_tsframe = (timestamps_tsframe_raw-timestamps_tsframe_raw[0]) / 1000.0 # Relative timestamps in seconds

   ###########
   # Features
   ###########
   # Compute minibal for each tactile sensor frame
   minimal_bounding_spheres = np.empty([numTSFrames, 4])
   minimal_bounding_spheres.fill(None)

   for frameID in xrange(0, numTSFrames):    
      if (max_matrix_1[frameID] > 0.0 and max_matrix_5[frameID] > 0.0) :
         theta = frameManager.get_corresponding_jointangles(frameID) # Corresponding joint angles
         minimal_bounding_spheres[frameID] = features.compute_minimal_bounding_sphere_centroid(frameID, theta)
    
   return timestamps_tsframe, 2*minimal_bounding_spheres[:,3]
def load_data_taxel(filename, matrixID, x, y):
    profileName = os.path.abspath(filename)
    frameManager = framemanager_python.FrameManagerWrapper()
    frameManager.load_profile(profileName);
    texel = frameManager.get_texel_list(matrixID, x, y)
    timestamps = frameManager.get_tsframe_timestamp_list()
    timestamps = (timestamps-timestamps[0]) / 1000.0 # Relative timestamps in seconds
    return timestamps, texel
def load_data_average(filename, matrixID):
    profileName = os.path.abspath(filename)
    frameManager = framemanager_python.FrameManagerWrapper()
    frameManager.load_profile(profileName)
    frameManager.set_filter_none()
    averages = frameManager.get_average_matrix_list(matrixID)
    timestamps = frameManager.get_tsframe_timestamp_list()
    timestamps = (timestamps -
                  timestamps[0]) / 1000.0  # Relative timestamps in seconds
    return timestamps, averages
def load_smoothed(filename, matrixID):
    profileName = os.path.abspath(filename)
    frameManager = framemanager_python.FrameManagerWrapper()
    frameManager.load_profile(profileName)
    frameManager.set_filter_gaussian(1, 0.85)
    y = frameManager.get_average_matrix_list(matrixID)
    #y = frameManager.get_max_matrix_list(matrixID)

    timestamps = frameManager.get_tsframe_timestamp_list()
    timestamps = (timestamps -
                  timestamps[0]) / 1000.0  # Relative timestamps in seconds
    return timestamps, y
def load_data_tsframes3D(filename, matrixID):
    frameManager = framemanager_python.FrameManagerWrapper()
    frameManager.load_profile(filename);
    # Load entire profile as 3D array
    numTSFrames = frameManager.get_tsframe_count();
    tsframe = frameManager.get_tsframe(0, matrixID);
    width = tsframe.shape[1]
    height = tsframe.shape[0]
    tsframes3D = np.empty((height, width, numTSFrames)) # height, width, depth
    for i in range(numTSFrames):
        tsframes3D[:,:,i] = np.copy( frameManager.get_tsframe(i, matrixID) )
    return tsframes3D
Esempio n. 8
0
import os, sys

print("CWD: " + os.getcwd())
lib_path = os.path.abspath('../lib')
sys.path.append(lib_path)

import numpy as np
import matplotlib.pyplot as plt

import framemanager_python

# Force reloading of external library (convenient during active development)
#reload(framemanager_python)

profileName = os.path.abspath("reactive_grasping.dsa")
frameManager = framemanager_python.FrameManagerWrapper()
frameManager.load_profile(profileName)
frameManager.set_filter_median(1, False)

numTSFrames = frameManager.get_tsframe_count()
starttime = frameManager.get_tsframe_timestamp(0)
stoptime = frameManager.get_tsframe_timestamp(numTSFrames)
frameID = 42

######################
# Access frames (copy)
######################
tsframe0 = np.copy(frameManager.get_tsframe(frameID, 0))
tsframe1 = np.copy(frameManager.get_tsframe(frameID, 1))
tsframe2 = np.copy(frameManager.get_tsframe(frameID, 2))
tsframe3 = np.copy(frameManager.get_tsframe(frameID, 3))