.npy to .ibw conversion

I have a bunch of files containing some X-ray data in form of Python .npy files.  To process the data in Igor I first have to convert them to .ibw format (these are huge files so the binary format for wave storing is essential, for the same reason I don't want to store the data within the experiment, I want to be able to import the data as fast as possible).  Currently I'm proceeding as following : I wrote a Python script to save the arrays as raw binary files then I read them in Igor with GBLoadwave and save as .ibw. The problem is that the array dimensions (different for each file) are not stored in the binary file, the workaround I'm using is to create a csv file to store the dimensions for each file but it is a bit cumbersome, so I wonder if there is a simpler way. I heard Igor 10 would feature interfacing with Python, anyway if there is a simple way to convert .npy to .ibw I'm interested.

Igor 10 doesn't have a direct conversion from .npy files to .ibw. However, you can load the .npy file into a numpy array, and then create an Igor wave directly from that. The Python code would go something like:

arr = np.load('data.npy')
igorpro.wave.createfrom('loadedArray', arr)