If you do have ArcGIS and no SA: you might consider converting to points, deleting the values below 12, making the rest of the values a single integer, convert to raster, and then converting to polygon.That polygon would be used in the clips and advanced drawing layer masks, I tested this on an SRTM, and it worked well:
import arcpy
from arcpy import env
Folder = "C:\\Data\\Temp\\STACK"
GDB = "C:\\Data\\Temp\\STACK\\TempGDB.gdb"
env.workspace = GDB
TempP = GDB+"\\TempP"
Poly = GDB+"\\Poly"
InRaster = "C:\\Data\\Temp\\STACK\\Raster"
OutRaster = Folder+"\\OutRaster"
TempPLayer = "TempPLayer"
elevMinResult = arcpy.GetRasterProperties_management(InRaster, "MINIMUM")
elevMaxResult = arcpy.GetRasterProperties_management(InRaster, "MAXIMUM")
CELLSIZEX = arcpy.GetRasterProperties_management(InRaster,"CELLSIZEX")
print "Min: " +str(elevMinResult) +" Max: " + str(elevMaxResult)
print "Cell Size: "+ str(CELLSIZEX)
if arcpy.Exists(TempP):
arcpy.Delete_management(TempP)
if arcpy.Exists(OutRaster):
arcpy.Delete_management(OutRaster)
if arcpy.Exists(Poly):
arcpy.Delete_management(Poly)
arcpy.RasterToPoint_conversion(InRaster, TempP, "Value")
arcpy.MakeFeatureLayer_management(TempP,TempPLayer)
arcpy.SelectLayerByAttribute_management(TempPLayer, "NEW_SELECTION", " \"grid_code\" < 12 ")
arcpy.DeleteFeatures_management(TempPLayer)
del TempPLayer
arcpy.AddField_management (TempP, "IntValue", "LONG", "", "", "", "IntValue", "NULLABLE")
arcpy.CalculateField_management(TempP, "IntValue","1", "PYTHON")
arcpy.PointToRaster_conversion(TempP, "IntValue", OutRaster, "MAXIMUM", "", CELLSIZEX)
arcpy.RasterToPolygon_conversion(OutRaster, Poly, "NO_SIMPLIFY", "VALUE")