Arthur,
The magic to getting workspace to appear in the workspaces toolboxs in the GUI is the add them to the AnalysisDataService.
This is done for you automatically if you set the workspace as an output property of an algorithm, but you can do it yourself with the following python command
AnalysisDataService.add("name to be listed in GUI",workspaceObject)
To try to better explain the examples http://www.mantidproject.org/Creating_Workspaces There are where you are creating your own Algorithm (to see the full explanation start http://www.mantidproject.org/Introduction_to_PythonAlgorithms and follow the next links)
def PyInit(self):
# Creates a generic output property
self.declareProperty(WorkspaceProperty(name="OutputWorkspace",
defaultValue="",
direction=Direction.Output))
def PyExec(self):
# A workspace with 5 rows with 9 bins & 10 bin boundaries
# (i.e. a histogram)
output_ws = WorkspaceFactory.create("Workspace2D", NVectors=5,
XLength=10, YLength=9)
self.setProperty("OutputWorkspace", output_ws)
Within a python class you create to be your python algorithm you define two methods PyInit, and PyExec.
In PyInit you include self.declareProperty statements to define all of the input and output properties of your algorithm.
The example above only has one property, an output workspace property, containing the result.
In PyExec you include the code to do whatever you want to do, in your case creating your workspace.
The example above does just that, it creates a simple workspace using WorkspaceFactory.create.
The self.setProperty(“OutputWorkspace”, output_ws) line sets the output workspace to the output property, which will handle adding it to the AnalysisDataService for you.
In between those two lines you could add whatever data you wanted to the workspace.
Let me know if you need any more help,
Regards,
Nick Draper