/* * #%L * OME library for reading the JPEG XR file format. * %% * Copyright (C) 2014 - 2015 Open Microscopy Environment: * - Board of Regents of the University of Wisconsin-Madison * - Glencoe Software, Inc. * - University of Dundee * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-2.0.html>. * #L% */ package ome.jxr.image; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Enumeration of available image bit depth types. Naming of entries follows * Rec.ITU-T T.832 (01/2012) - table 23. * * <dl> * * @author Blazej Pindelski bpindelski at dundee.ac.uk */ public enum BitDepth { BD1WHITE1(0), BD8(1), BD16(2), BD16S(3), BD16F(4), BD32S(6), BD32F(7), BD5(8), BD10(9), BD565(10), RESERVED(5, 11, 12, 13, 14), BD1BLACK1(15); private List<Integer> ids = new ArrayList<Integer>(); private BitDepth(Integer... ids) { this.ids.addAll(Arrays.asList(ids)); } public List<Integer> getId() { return ids; } public static BitDepth findById(int id) { for (BitDepth bitdepth : BitDepth.values()) { if (bitdepth.getId().contains(id)) { return bitdepth; } } throw new IllegalArgumentException("Unspecified bitdepth format id: " + id); } }