{"push_id":3152865379,"size":19,"distinct_size":0,"ref":"refs/heads/tonytung-labeled-indices","head":"fe326a944c23e51991fc504ec561fece288ed993","before":"a3e0fd902e3e5cb90ecfdb04eb31ff529292ee76","commits":[{"sha":"138300f35b586eda9a37babaf22a56925453413d","author":{"name":"Ambrose J Carr","email":"86604651152338b008dee7b402f864c6314f9333@users.noreply.github.com"},"message":"Add ability to save ImageStack as a Multi-page TIFF that FIJI can read.  (#893)\n\n* add to_fiji method\r\n\r\n* catch low contrast image warnings\r\n\r\n* add comments","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/138300f35b586eda9a37babaf22a56925453413d"},{"sha":"697a39ab2e9ddc2105f0c42a47b38a8f07f928bd","author":{"name":"Tony Tung","email":"0928f3bd07b9f5e032112e0ccb4f9566a8062e1c@merly.org"},"message":"Extract the TileSet → ImageStack code into a separate module. (#802)\n\n1. `_get_dimension_size` gets moved to the new module as it is no longer needed in ImageStack.\r\n2. Rename `tile_metadata` to `tile_data` as it represents both the image data and the metadata now.\r\n\r\nDepends on #791\r\n\r\nThis is part of RFC #776\r\n\r\nTest plan: make -j run_notebooks","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/697a39ab2e9ddc2105f0c42a47b38a8f07f928bd"},{"sha":"eaba398f98db1f576325f53e47a001703e79004f","author":{"name":"Tony Tung","email":"230d196ff2416c9232661c39ad7b0996916b1710@chanzuckerberg.com"},"message":"[easy] rename shape/dimensions for the data array\n\nRename the variables to `data_shape` and `data_dimensions` to match what is being done for the coordinates array.","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/eaba398f98db1f576325f53e47a001703e79004f"},{"sha":"bd02ea05c76ba4ea2489e81504a4f5184a5dba14","author":{"name":"Tony Tung","email":"230d196ff2416c9232661c39ad7b0996916b1710@chanzuckerberg.com"},"message":"Use labeled coordinates on r/c/z.\n\nRight now, we use the default indexing provided by xarray, which is by pixel index.  To support r/c/z where the labels are not contiguous, we need to manually assign the labels.\n\nOne side effect is that label indexing is inclusive of the start _and_ end bounds.  That is the reason the test is updated.\n\nTest plan: `make -j lint mypy && pytest -v -n8 starfish/test/image/`","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/bd02ea05c76ba4ea2489e81504a4f5184a5dba14"},{"sha":"fced9612ea1a048e5bb9bef18a9d584e800a8559","author":{"name":"Tony Tung","email":"230d196ff2416c9232661c39ad7b0996916b1710@chanzuckerberg.com"},"message":"fake commit","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/fced9612ea1a048e5bb9bef18a9d584e800a8559"},{"sha":"6b6ecb872af3ce326fccb4ae227dd43d775c8e90","author":{"name":"Tony Tung","email":"230d196ff2416c9232661c39ad7b0996916b1710@chanzuckerberg.com"},"message":"Refactor common ImageStack test idioms into utility functions\n\nThese are two common idioms across ImageStack tests (or soon-to-be-coming ImageStack tests):\n\n1. verifying a tile (or set of tiles)'s data.\n2. verifying a tile's coordinates are common operations across imagestack tests.\n\nExtract these two idioms so we don't keep repeating ourselves.\n\nTest plan: `pytest -v -n8 starfish/test/image/ && make -j lint mypy`","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/6b6ecb872af3ce326fccb4ae227dd43d775c8e90"},{"sha":"af3dc87169b01bb4e5562d9c7da4c5fa7a07c2b7","author":{"name":"Tony Tung","email":"230d196ff2416c9232661c39ad7b0996916b1710@chanzuckerberg.com"},"message":"fake commit","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/af3dc87169b01bb4e5562d9c7da4c5fa7a07c2b7"},{"sha":"b826e048d5dd08fbec0b0823a301fd9098b4941e","author":{"name":"Tony Tung","email":"230d196ff2416c9232661c39ad7b0996916b1710@chanzuckerberg.com"},"message":"Fix treatment of set_slice's axes parameter.\n\nThe axes parameter for set_slice _should_ always be known, in order to achieve true independence in the ordering of axes for ImageStack data.  A rational default of [] is provided, as most places set a 2D tile.\n\nAttempted to clarify what the parameter does and wrote a test that exercises the reordering code path (and found a bug!).\n\nTest plan: `make -j run_notebooks`","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/b826e048d5dd08fbec0b0823a301fd9098b4941e"},{"sha":"03e353f3441653ad6df34206cf2fec784725c244","author":{"name":"Tony Tung","email":"230d196ff2416c9232661c39ad7b0996916b1710@chanzuckerberg.com"},"message":"fake commit","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/03e353f3441653ad6df34206cf2fec784725c244"},{"sha":"8bac9d592f7fb8bb1302134c6b7a6e518b6b43df","author":{"name":"Tony Tung","email":"230d196ff2416c9232661c39ad7b0996916b1710@chanzuckerberg.com"},"message":"Dynamically evaluate the tile shape and dtype as we decode.\n\nThere is an inefficiency in the code that has us decoding the image _twice_, once to find the common dtype of the data and once to constitute the 5D tensor.\n\n#802 exacerbates the inefficiency even more, by calling numpy_array multiple times, each time triggering a decode.\n\nThis PR changes the code so that we just decode the image once and storing it in a proxy object that looks a lot like a slicedimage Tile object.  Unlike a slicedimage Tile object, however, it retains the image for the lifetime of the object.  We tightly constrain the lifetime of these objects in the ImageStack constructor to avoid bloating memory requirements.\n\nThis PR also introduces an `_Expectations` class, which tracks the tile shapes and dtypes of the tiles seen during a decode of a TileSet.  If the shapes are not all identical, it will trigger a ValueError.  If the kind of dtypes are not all identical, it will trigger a TypeError.  Additionally, if the dtypes are all of the same kind, but not all of the same size, it will trigger a :py:class:`starfish.errors.DataFormatWarning`.\n\nDepends on #802\n\nThis is part of RFC #776\n\nTest plan: `make -j run_notebooks`","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/8bac9d592f7fb8bb1302134c6b7a6e518b6b43df"},{"sha":"2aa997e7526d7d2700b543f948c4e0038c6c9fce","author":{"name":"Tony Tung","email":"230d196ff2416c9232661c39ad7b0996916b1710@chanzuckerberg.com"},"message":"Add support for labeled indices in imagestack / experiment builders\n\nThe IDs for rounds/chs/zlayers for imagestack / experiment builders are now taken from a sequence rather than ranging from 0..(n-1).  At all existing call sites, we simply provide a range, so it's a functional noop.  However, this allows us to build tests for labeled indices.\n\nTest plan: `make -j test lint mypy`","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/2aa997e7526d7d2700b543f948c4e0038c6c9fce"},{"sha":"a6d35ccfa16f0e256e70c829323c5af530718740","author":{"name":"Tony Tung","email":"230d196ff2416c9232661c39ad7b0996916b1710@chanzuckerberg.com"},"message":"Refactor ImageStack construction from numpy arrays.\n\nThis now uses the same abstractions from starfish.imagestack.parser to construct the ImageStack from numpy arrays.  This will allow us to propagate information about the labeled axes in a coherent way (in a future PR).\n\nTest plan: make -j fast\n\nDepends on #803","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/a6d35ccfa16f0e256e70c829323c5af530718740"},{"sha":"e8aa2ba552e67a69204e07cda0b46e8a7903b78c","author":{"name":"Tony Tung","email":"230d196ff2416c9232661c39ad7b0996916b1710@chanzuckerberg.com"},"message":"fake commit","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/e8aa2ba552e67a69204e07cda0b46e8a7903b78c"},{"sha":"ec4b5bd1dcab68c496ae6f8798628199e6b003d0","author":{"name":"Tony Tung","email":"230d196ff2416c9232661c39ad7b0996916b1710@chanzuckerberg.com"},"message":"merge","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/ec4b5bd1dcab68c496ae6f8798628199e6b003d0"},{"sha":"01954b03efc0a90992ef2f2473f36f9126b3c55f","author":{"name":"Tony Tung","email":"230d196ff2416c9232661c39ad7b0996916b1710@chanzuckerberg.com"},"message":"fake commit","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/01954b03efc0a90992ef2f2473f36f9126b3c55f"},{"sha":"9b45a501a765efa8382a99ef13fe67601d30b2c7","author":{"name":"Tony Tung","email":"230d196ff2416c9232661c39ad7b0996916b1710@chanzuckerberg.com"},"message":"merge","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/9b45a501a765efa8382a99ef13fe67601d30b2c7"},{"sha":"a96a3c20403d72e5c2474839652b739d9182fa05","author":{"name":"Tony Tung","email":"230d196ff2416c9232661c39ad7b0996916b1710@chanzuckerberg.com"},"message":"fake commit","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/a96a3c20403d72e5c2474839652b739d9182fa05"},{"sha":"7ee72378950d6caab81e01178db3cb32b572a9e4","author":{"name":"Tony Tung","email":"230d196ff2416c9232661c39ad7b0996916b1710@chanzuckerberg.com"},"message":"merge","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/7ee72378950d6caab81e01178db3cb32b572a9e4"},{"sha":"fe326a944c23e51991fc504ec561fece288ed993","author":{"name":"Tony Tung","email":"230d196ff2416c9232661c39ad7b0996916b1710@chanzuckerberg.com"},"message":"Decouple the index values from the # of possible index values.\n\nCurrently, we assume all the index values are 0..n-1, if the index has dimension size=n.  This assumption will no longer hold with round-at-a-time processing, where we crop before load.  In that case, we want to preserve the existing round numbers so that we can merge the results.\n\nA new method is added to `ImageStack`, called `index_values`, which returns an iterable over the valid index values.\n\nTest plan: `make -j test lint mypy`.\n\nDepends on #817, #818, #823","distinct":false,"url":"https://api.github.com/repos/spacetx/starfish/commits/fe326a944c23e51991fc504ec561fece288ed993"}]}
{"actor":{"display_login":"ttung"}}