public ArrayList<SpaceProcessingChainComponent> create_output_spaces() throws SPECCHIOClientException { output_spaces = new ArrayList<SpaceProcessingChainComponent>(); define_output_spaces(); SpaceProcessingChainComponent spcc = null; if (cal_spaces.length > 0) { spcc = new SpaceProcessingChainComponent(owner, cal_spaces[0]); } // check if the new space is valid // if a module cannot create a space, then it sets the dimension to zero if (spcc != null && cal_spaces[0] != null && cal_spaces[0].getDimensionality() > 0) { spcc.set_space_name(output_space_definitions.get(0).space_name); set_spectrum_ids_in_output_space(cal_spaces[0]); output_spaces.add(spcc); } else { JOptionPane.showMessageDialog( owner, "Cannot create output space because the input spectra have no wavelength reference. \nPlease set a sensor with the correct wvls in the metadata editor."); } return output_spaces; }
public void transform() throws SPECCHIOClientException { // as the ids are already set, we just need to load the data SpaceProcessingChainComponent output_space = get_main_output_space(); if (output_space != null) { Space new_output_space = specchio_client.loadSpace(output_space.getSpace()); output_space.setSpace(new_output_space); } }